天天看點

jmeter實作參數化及請求出現中文亂碼問題解決

一.jmeter進行參數化

方式1:通過CSV data set config

1.add-config element-CSV data set config

jmeter實作參數化及請求出現中文亂碼問題解決

其中,

filename:參數化檔案的絕對路徑

file encoding:指明編碼格式,讀取檔案時的編碼格式;預設為ANSI

Variable Names :變量名稱。多個變量名之間必須用分隔符分隔。如果該項為空,則檔案首行會被讀取并解析為列名清單

Ignore first line:是否忽略首行?如果csv檔案中沒有表頭,則選擇false

Delimiter:分隔符。将一行資料分隔成多個變量,預設為逗号,也可以使用“\t”。如果一行資料分隔後的值比Vairable Names中定義的變量少,這些變量将保留以前的值(如果有值的話)

Allow quoted data?:是否允許變量使用雙引号?允許的話,變量将可以括在雙引号内,并且這些變量名可以包含分隔符

Recycle on EOF?:遇到檔案結束符是否再次循環?預設為 true

Stop thread on EOF?:遇到檔案結束符是否停止線程?預設為 true

Sharing mode:線程共享模式。1、All threads(預設):一個線程組内,各個線程(使用者)唯一順序取值;2、current thread:一個線程組内,各個線程(使用者)各自順序取值;3、線程組各自獨立,但每個線程組内各個線程(使用者)唯一順序取值;

2.設定線程組

1S内發起4個線程(循環一次)

jmeter實作參數化及請求出現中文亂碼問題解決

3.請求接口引用CSV生成的變量

jmeter實作參數化及請求出現中文亂碼問題解決

4.執行請求,檢視結果樹

jmeter實作參數化及請求出現中文亂碼問題解決
jmeter實作參數化及請求出現中文亂碼問題解決
jmeter實作參數化及請求出現中文亂碼問題解決
jmeter實作參數化及請求出現中文亂碼問題解決
jmeter實作參數化及請求出現中文亂碼問題解決

方式2:通過function helper(函數助手)

1.點選函數助手

jmeter實作參數化及請求出現中文亂碼問題解決

2.在彈出面闆選擇CSVread

需要填寫兩行:

第一行是參數化檔案的位置,同方式1

第二行是你需要參數化的列,注意下标從0開始

随後點選generate & copy to clipboard

在左側會生成參數表達式,并自動複制

jmeter實作參數化及請求出現中文亂碼問題解決

3.用這個參數表達式替換請求參數

jmeter實作參數化及請求出現中文亂碼問題解決

4.執行HTTP請求,如圖所示成功執行但是請求參數中文出現亂碼

jmeter實作參數化及請求出現中文亂碼問題解決

二.方式2請求出現亂碼問題解決

1.參數化檔案編碼是utf-8,推測應該是jmeter讀取是按照别的格式

分别采用了設定接口請求頭為utf-8,

修改bin下的配置檔案并重新開機:jmeter.properties,

添加BeanShell Sampler/BeanShell PostProcessor,在Script處填寫如下代碼:prev.setDataEncoding(“utf-8”);

但是都沒有用…

因為方式1的file encoding預設是ANSI,推測函數助手讀取預設也是這個編碼

2.記事本方式打開CSV檔案,選擇另存為,編碼選擇ANSI

jmeter實作參數化及請求出現中文亂碼問題解決

替換原檔案儲存即可

3.重新執行HTTP請求,亂碼問題解決

jmeter實作參數化及請求出現中文亂碼問題解決

注:

但是這種方式會導緻方式1出現亂碼,因為方式1中我們設定的是通過utf-8格式去讀取

參考文章:

https://zhuanlan.zhihu.com/p/112955910

https://blog.csdn.net/mu_wind/article/details/108225919

繼續閱讀