Jmeter中引數化的使用

2021-08-03 10:10:14 字數 2039 閱讀 9256

在使用jmeter進行介面測試時,如果提交的引數不變,那麼就會讀取快取資料,無法測試出伺服器真正的負載能力,所以要對提交的引數進行引數化來解決這一問題。

在jmeter中經常使用csv data set config讀取外部資料來源完成引數化。 

step1:

新增乙個http sampler, 根據測試文件將需要的資訊準備好。 

根據抓包資料可以看出,要測試的介面位址為: 

請求方式為: post 

需要的必要引數為: loginname和password

step2:

要模擬不同使用者登入,就要準備多個使用者的登入資訊。將該資訊存放在userinfo .txt的檔案中。 

為testplan新增配置元件, 選擇csv data set config。具體設定如下: 

再回到sampler中,將需要提交的引數值,進行引數化處理。 

取值方式為$, 要與csv中variable names一致。 

新增斷言。 如果使用者登入成功,在響應資料中會包含該使用者的accesstoken,所以新增了乙個響應斷言,要驗證請求是否成功。 

新增斷言***和結果樹。

都準備好後,傳送請求。 會發現斷言失敗。提示並沒有包含accesstoken欄位。 

檢視結果樹: 提示使用者名稱無效。 

再看看提交的資料是否有問題: 

發現問題啦,準備好的測試資料中,使用者名稱就是手機號,而在postdata中看到手機號前多出一寫字元,導致使用者名稱錯誤。

問題原因:

我是使用windows自帶的記事本將使用者資訊儲存為utf-8格式的檔案,這是問題的根源。 

*bom採用utf-8編碼。幾乎所有的文字編輯軟體都可以顯示並編輯utf-8編碼的檔案。但是很遺憾,其中很多軟體的表現並不理想。 

如果您在修改任何php檔案後發生: 

* 不能登入或者不能登出; 

* 頁頂出現一條空白; 

* 頁頂出現錯誤警告; 

* 其它不正常的情況。 

則多半是編輯器的問題。 

類似windows自帶的記事本等軟體,在儲存乙個以utf-8編碼的檔案時,會在檔案開始的地方插入三個不可見的字元(0xef 0xbb 0xbf,即bom)。它是一串隱藏的字元,用於讓記事本等編輯器識別這個檔案是否以utf-8編碼。*

使用editplus將該檔案重新編輯。 

先將editplus設定一下: 

首選項–檔案–預設文字編碼: 修改為utf-8 

再將文件–文字編碼設定為utf-8

再次執行指令碼,結果正常。 

斷言如果沒有錯誤,就只顯示sampler的名字 

Jmeter七 jmeter中的引數化

引數化是為了更好的模擬真實的業務場景 csv data set config元件 1.更容易使用和理解 2.適合大參數量場景 3.設定方便靈活 eof end of file 沒有找到檔案 comma delimited 逗號分隔 不指定變數名時,第一行作為變數名。檔案最末尾有一行空行不影響 當用逗...

jmeter的引數化實現

背景 在實際的測試工作中,我們經常需要對多組不同的輸入資料,進行同樣的測試操作步驟,以驗證我們的軟體的功能。這種測試方式在業界稱為資料驅動測試,而在實際測試工作中,測試工具中實現不同資料輸入的過程稱為引數化設定。jmeter提供多種引數化設定的方式,常用的有 1 使用 使用者定義的變數元件 實現 2...

JMeter指令碼的引數化

當你利用badboy將你的測試指令碼錄製完畢後,接下來就是指令碼的除錯工作了。在我看來,除錯應該包括有以下幾個方面 1.根據測試場景對指令碼進行必要的修改 2.指令碼引數化 3.新增適當的listener,進行測試結果的簡單收集 今天講到的是指令碼的引數化問題。在jmeter裡面,可以利用的對req...