Jmeter腳本錄製功能依賴第三方工具Badboy,因此在安裝了Jmeter以後,還須要再安裝一個工具。java
Badboy自己自帶瀏覽器,相關操做只能在Badboy上進行操做,偶爾可能會遇到瀏覽器兼容的問題致使錄製失敗。正則表達式
有沒有不須要安裝第三方工具,不限制瀏覽器兼容的方法呢?chrome
Jmeter自帶的組件-HTTP代理服務器來進行腳本的錄製,此功能能夠錄製Web/APP端的腳本。json
本次使用的是Jmeter 5.0版本,chrome瀏覽器瀏覽器
設置-高級設置-打開代理設置-局域網設置-代理服務器服務器
地址能夠是localhost或127.0.0.1,端口與HTTP代理服務器端設置的端口號一致網絡
用於指定腳本錄製路徑app
測試計劃>右鍵>添加>非測試原件>HTTP代理服務器工具
端口:測試
默認爲8888,可修改。但要注意,端口不能被其它程序佔用,端口信息要與瀏覽器設置保持一致。
cmd.exe中使用以下命令檢查端口使用狀況:
1)netstat -an --列出本機全部使用端口信息
2)netstat -aon|findstr "8888" --查詢端口是否被佔用
3)tasklist|findstr "8888" --查詢對應端口被什麼程序佔用
目標控制器:
錄製腳本存放路徑,可指向第2步建立的線程組(測試計劃>線程組)
分組:
錄製腳本時會增長不少節點,爲了便於查看與管理,能夠對這些節點進行分組
可選值有:不對樣本分組、在組間添加分隔、每一個組放入一個新的控制器、只存儲每一個組的第一個樣本、將每一個組放入新的事務控制器中
記錄HTTP信息頭:將Header頭信息錄製下來
添加斷言:錄製時加入空的斷言,後需須要手工增長斷言內容
Regex Matching:是否使用正則表達式匹配斷言。應用時須要增長一個正則表達式提取器。
HTTP Sampler settings:
Prefix-爲錄製腳本增長前綴,配置爲登陸,腳本展現爲,參見圖中登陸五、登陸9;
Tracnsaction name-爲錄製腳本命名,配置爲首頁加載,腳本展現爲,參考圖中11 首頁加載。
經過此配置,能夠手工將腳本進行分組,便於後需查看和編輯。
Type:生成那種類型的取樣器,可選值有HTTPclient四、java和空。
歷史版本默認爲JAVA,不知何時改成默認空了。
從HTML文件獲取全部內含的資源:是否從HTML文件獲取全部內含的資源。
自動重定向:當遇到重定向,自動跳轉,不記錄重定向過程請求。
跟隨重定向:默認勾選,當遇到重定向時,記錄重定向過程請求。
使用KeepAlive:默認勾選,對應Http響應頭中的Connection:Kepp-Alive
經過此功能篩選掉沒必要要的請求,Jmeter會把js、png、swf及動態請求所有錄製下來,會有不少冗餘腳本。
Content -type filtert:經過Content-type進行篩選。常見的包含application/x-www-form-urlencoded、text/xml、application/json、multipart/form-data等。
排除模式:能夠添加URL、路徑等信息做爲排除項
Notify Child Listeners of filtered samplers:通知篩選的採樣器的子偵聽器,匹配一個或多個排除模式的任何響應都不會傳遞給子偵聽器。
點擊「啓動」,(首次加載較慢)會提示Root CA certificate Apache Jmeter TemporaryRootCA Created in Jmeter bin directory:
此消息只是讓用戶信任JMeter proxy的身份,有兩種方法均可以解決
1)直接在瀏覽器錄製時選擇信任發來的證書;
2)提早將JMeter Proxy的Root CA證書導入瀏覽器,完成信任,再開始錄製動做。
不過忽略也能夠,在瀏覽器中進行相關操即會被記錄下來。
本地能夠訪問系統並錄製腳本,外網訪問會受限制,瀏覽器去除代碼設置後返回正常。
平常接口測試,若是不想手工錄製信息到Jmeter,也能夠經過此方式進行錄製。
其實在電腦端的設置和Web錄製中的設置都是同樣的,只不過在APP端須要設置代理。
經過無線網絡設置代理,計算機開啓wifi,手機鏈接,保證手機鏈接的網絡與電腦網絡在同一局域網內。
無線設置》WLAN》連接對應的無線網絡》點擊連接的無線網絡》配置代理
與Web端配置相似,服務器IP配置爲電腦IP,端口與HTTP代理服務器中的設置的一致
配置完成後,就能夠進行相關錄製操做。