不分模塊的寫法:測試計劃、線程組、HTTP請求、查看結果樹
1.分模塊的寫法:每個功能模塊為一個測試片段,測試片段保存到一個路徑中,線程組中添加include模塊控制器,可以引用這些測試片段,執行請求,實現模塊的封裝
分模塊的寫法:每個功能模塊為一個測試片段,測試片段保存到一個路徑中,線程組中添加模塊控制器、include控制器,可以引用這些測試片段,執行請求,實現模塊的封裝
添加include控制器,導入測試片段
2.公共的參數,可以使用用戶定義的變量,例如host、port、token
公共的數據,以變量的方式統一維護起來,例如host、port、token
引用變量
3.測試用例中有多組數據,一個個手動改會影響效率,可將數據添加到一個csv文件中(例如login_data.csv),然后jmeter中添加CSV配置文件
添加CSV配置元件
不用再去jmter中修改參數,直接去csv文件中讀取
配置CSV數據文件
HTTP請求中引用CSV數據文件設置中配置的變量
4.登錄測試用例有多條,若要一次性執行多條用例,發起多次登錄請求,需要用到循環控制器
注意邏輯層級,循環控制器在外層;用例有三條用戶名、密碼,需要發起3次請求,所以循環次數是3
5.運用接口的結果判定,可用斷言,json格式就是json斷言,XML格式就是XML斷言.....
添加斷言
$符號代表響應體最外層,$.code代表取code的值
如果要判斷多個值,可復制黏貼寫多個斷言,msg的值如果等于0,代表通過
6.接口的預期值有多種結果,可以在CSV文件中加入預期值,CSV配置中加入這個預期值的變量,斷言中的Expected Value調用這個預期值變量
assert_code為預期值 (這里的pw應為pwd)
調用預期值
7.查詢訂單,需要依賴用戶登錄的token,可以在登錄接口中運用到json提取器,提取token
添加JSON提取器(也可以用正則表達式提取)
提取token
將在查詢訂請求中將token值用變量代替
8.Jmeter生成測試報告:D:\apache-jmeter-5.4\bin\jmeter -n -t test1.jmx -l test1.jtl -e -o D:\test\jmeter\report,cmd終端運行該命令,可執行test1.jmx并生成test1.jtl報告(前路徑是jmter的路徑,后路徑是報告在的路徑)
回歸測試
問題:如果接口AES加密,應怎么加密、解密處理呢?
1)得到的結果直接與加密后的結果進行對比
2)添加beanShell? preProcessor,寫代碼進行處理