概念
參數化的原因,並不是網上說的真實模擬不同用戶,真實反應服務器性能,而是:
數據唯一性(比如注冊名不能一樣)
避免數據庫查詢緩存
如何避免參數化:
去掉唯一性校驗的約束
關閉數據庫的查詢緩存,mysql關閉方式,set global query_cache_type=0
同時,也可以參考loadrunner參數化:https://www.cnblogs.com/UncleYong/p/10702700.html
用戶定義的變量
最主要的應用是參數化環境的ip和端口,這樣,在“HTTP請求默認值”配置元件中填寫參數就可以了,這樣方便在不同的環境中切換測試
csv數據文件設置
在jmeter中做參數化,用得最多的就是CSV文件參數化
解釋:
提醒:分隔符不能是參數化的值中的符號,否則會被截斷,比如,你參數化整個json,逗號作為分隔符,而json中就有逗號,所以,發送請求的時候,會被截斷。
線程共享模式:
所有現場:所有的線程共享一個數據文件
當前線程組:每個線程復制一份文件自己獨用
當前線程:一個線程組一份文件,線程組內是所有現場
這里我就不演示上面各種模式的取值方式了,大家最好自己實踐一下,這樣印象更深刻
一個簡單的應用(傳k-v)
百度搜索,對搜索的關鍵字參數化
創建參數文件,因為只有一列,我可以很清楚的知道這一列是什么含義,所以沒有在首行加變量名;另外,文件內容中,最后只能一個空行
循環4次
csv數據文件設置,設置為循環取值
名稱是參數名,值是參數值
引用參數${參數名}
運行
第一次循環取第一個值
第二次循環取第二個值
第三次循環取第三個值
第四次循環取第一個值
設置不循環取值
第四次循環取EOF