避坑指南!一文幫您解決Jmeter錄制Chrome操作過程中遇到的問題!
Jmeter錄制腳本原理
腳本錄制時(shí),Jmeter作為代理網(wǎng)關(guān),通過監(jiān)聽某個(gè)端口,來捕獲監(jiān)聽端口的報(bào)文信息,對(duì)抓取到的請(qǐng)求信息和響應(yīng)信息進(jìn)行轉(zhuǎn)換為對(duì)應(yīng)的行為函數(shù)。我們這里以設(shè)置chrome代理為例,然后使用jmeter進(jìn)行腳本錄制工作,chrome代理的配置設(shè)置如下:
添加HTTP 代理服務(wù)器和錄制控制器
打開Jmeter(版本是5.4.1),測(cè)試計(jì)劃 右鍵>非測(cè)試元件>HTTP 代理服務(wù)器。
線程組 右鍵>邏輯控制器>錄制控制器。
如下圖:
我們?cè)贖TTP代理服務(wù)器中進(jìn)行錄制瀏覽器行為的相關(guān)工作,如下圖:
點(diǎn)擊上圖中的啟動(dòng)按鈕,會(huì)彈出如下對(duì)話框,告訴我們需要導(dǎo)入Jmeter的CA證書(原因是錄制https網(wǎng)站的請(qǐng)求需要CA證書),Jmeter會(huì)在bin目錄下為我們自動(dòng)生成一個(gè)臨時(shí)CA證書,但是這個(gè)證書的有效期只有七天!
備注:下面這三個(gè)文件如果過期,在bin目錄下刪除即可,重新進(jìn)行錄制后,又會(huì)自動(dòng)生成。
ApacheJMeterTemporaryRootCA.crt
ApacheJMeterTemporaryRootCA.usr
proxyserver.jks
點(diǎn)擊后,就可以進(jìn)行錄制了,在瀏覽器中輸入百度,但是遺憾的是,同學(xué)們大概率會(huì)出現(xiàn)下面的錯(cuò)誤頁面!
如何解決呢?我們需要在chrome中導(dǎo)入jmeter的 ca證書。
在chrome中導(dǎo)入Jmeter生成的臨時(shí)CA證書
在chrome中的設(shè)置中,選擇隱私和安全>安全>管理設(shè)備證書。
一定選擇下圖中的受信任的根證書頒發(fā)機(jī)構(gòu)。
一定選擇下圖中的受信任的根證書頒發(fā)機(jī)構(gòu)。
一定選擇下圖中的受信任的根證書頒發(fā)機(jī)構(gòu)。
重要的話說三篇,默認(rèn)是第一個(gè)“個(gè)人”tab,在這個(gè)tab中導(dǎo)入證書,后期錄制時(shí)是無法成功的,此處浪費(fèi)我大量的時(shí)間!
點(diǎn)擊導(dǎo)入,選擇\bin \ApacheJMeterTemporaryRootCA.crt即可,如下圖:
接下來默認(rèn)操作導(dǎo)入crt文件就完成了chrome 導(dǎo)入jmeter臨時(shí)CA證書的操作。
Jmeter錄制操作
回到Jmeter,重新在HTTP 代理服務(wù)器中使用錄制功能,就可以正常工作了,我們可以設(shè)置錄制的Transaction name,如下圖,同樣,點(diǎn)擊下圖中的停止按鈕就會(huì)停止錄制。
接下來在瀏覽器中簡(jiǎn)單操作一下百度就會(huì)看到錄制的腳本被保存在錄制控制器中,如下圖所示:
好了,大功告成,錄制成功!我的每一篇文章都希望幫助讀者解決實(shí)際工作中遇到的問題!