在使用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...