1. 程式人生 > 其它 >【Jmeter效能】JMeter設定Http代理對web或者app進行錄製

【Jmeter效能】JMeter設定Http代理對web或者app進行錄製

一、錄製web

1、首先保證JMeter的安裝環境都正確。啟動JMeter:在安裝路徑的bin目錄下雙擊jmeter.bat (例如:D:\apache-jmeter-2.13\bin)

​2、開啟JMeter後,在測試計劃中新增執行緒組​​

​​​3、在現場組中新增HTTP請求預設值,在伺服器名稱或IP中輸入被測的網址,例如:http://blog.sina.com.cn (這是新浪部落格的網址)

​​​4、線上程組中新增錄製控制器,這是方便錄製時的所有請求都在這個目錄下

​5、在工作臺中新增Http代理伺服器,並在http代理伺服器中進行配置如下:

目標控制器:決定決定將來控制的指令碼放在那個目錄。

分組:錄製指令碼時將增加很多節點,把這些節點進行分組。

l 不對樣本分組:羅列出錄製到的所有HTTP請求

l 在組間新增分隔:加入以分割線命名的簡單控制器

l 每個組放入一個新的控制器:每個URL產生的請求放在一個控制器下

l 只儲存每個組的第一個樣本:只錄制產生動態資料的HTTP請求

l 每個請求放入一個新的事物控制器:每個URL的請求放入一個事物中,不管他有多少HTTP請求,只要是這個URL產生的

6、這步如果直接點選“啟動”,不會錄製到任何請求。因為還需要在IE瀏覽器設定代理:進入IE的Internet選項-》連線-》區域網設定,設定如下:

​7、此時在回到JMeter的HTTP代理伺服器中點選“啟動”按鈕

(注意:有時候會提示證書有問題,可以在瀏覽器中新增證書:如果是IE瀏覽器在Internet選擇-》內容-》證書,進入匯入證書,證書的目錄是安裝的JMeter的bin目錄下

例如:​D:\apache-jmeter-2.13\bin\ApacheJMeterTemporaryRootCA.crt

​二、APP錄製(andriod系統)

其實在電腦端的設定和Web錄製中的設定都是一樣的,只不過在APP端需要設定一下代理

1、先安裝web錄製中步驟進行操作

​2、手機wifi連線,手機的IP地址與電腦IP地址屬於相同網段。現在可以進入​手機設定-》WLAN,點選手機連線上的wifi,設定改wifi的代理(不同牌子的手機修改wifi的設定稍微不同)。小米手機可以直接點選wifi進入詳情頁面,在代理的選項選擇“手動”,就可以輸入主機名:電腦實際的IP地址(例如:192.168.3.35),埠:8080. 如果是華為手機,要長按已連線的wifi名稱,彈出一個框,選擇“顯示高階選項”,在這裡就可以修改代理了。

3、此時可以先在電腦上測試一下,可以錄製web嗎,如果可以的話,手機就可以隨便開啟要測試的應用程式進行錄製。

總結:不知道怎麼回事,用web錄製時比如上傳圖片就會報錯,但是如果不設定代理進行錄製的時候,就可以上傳圖片​。試了很多方法都不行,最後實在沒辦法,就是用badboy進行錄製,就能成功錄製。

Jmeter(二)-使用代理錄製指令碼

Jmeter指令碼是以JMX格式為主

Jmeter也是支援錄製的,支援第三方錄製方式和代理錄製方式。

1、第三方錄製主要是通過badboy來錄製,錄製後另存為jmx格式即可。

2、Jmeter也有自己的代理,錄製指令碼前,我們只要啟動好代理,手動通過IE或者火狐來錄製,錄製完畢停止代理。

新建指令碼,首先新增執行緒組

然後再新增http預設請求HTTP Request Defaults

設定要錄製的伺服器IP地址或者域名

在平臺中新增代理伺服器HTTP Proxy Server,選擇錄製到的請求放置位置,這裡放在了執行緒組下,代理伺服器的預設埠為8080,也可以隨意修改,修改前儘量通過netstat –ano命令檢視一下本機正在使用的埠,不要重複使用,否則錄製不到jmeter指令碼

下面過濾掉我們不要錄製的內容或者只錄制的內容,正則表示式: .*\.gif

所有設定完畢,啟動jmeter代理

然後開啟IE瀏覽器設定本機的代理,注意埠要一致,如果是其他機器的,請修改IP地址。注意2太機器都要有jmeter

通過IE瀏覽器手動錄製一個登陸頁面,登陸成功後,手動停止代理,檢視錄製後的指令碼。

在代理中已經去圖片格式的請求都過濾掉啦,這裡錄製到的只有其他格式的請求。

大家看到錄製的指令碼中有很多冗餘的URL,一定要精簡指令碼,保證只有有效的URL發給伺服器。

作者:gtea 部落格地址:https://www.cnblogs.com/gtea