為了紀念我走過的坑(為什么有些簡單的問題就是絆住我了,還是不夠細啊)
Jmeter之接口登錄參數化實戰
因為想要在登錄時使用不同的數據進行測試,所以我選擇了將數據進行參數化。因為涉及到新建一個接口的功能,所以在這里進行完整的記錄
一、准備參數化所需要的文檔(此文檔可以為txt格式或者是csv格式的)
1、參數說明
文檔中寫入測試需要調用的數據,每行代表一組數據,有幾個參數就寫多少列,比如傳入的參數是賬號和密碼,就是有兩列。文檔中的參數要用英文逗號分隔(此處划重點,否則傳不進去哦,親身試驗)。
2、文檔實例
這里面只有兩組數據,實驗使用的
二、新建一個登錄接口的http請求
1、點擊bin目錄下的jmeter.bat,進入jmeter界面
這就不放圖了吧
2、添加線程組,起名“參數化”
注意:如果是英文的jmeter可以通過“選項”->“選擇語言”->Chinese更改;
3、設置全局變量
(1)在測試計划下面添加一個“HTTP請求默認值”
這個默認值定義了全局變量,會被后面的線程組引用,后面就不用重復填寫了,當項目地址發生改變的時候,直接改這個就可以了,節省了很多時間。
填寫相關信息:http寫或者不寫不重要,因為默認的就是。Ip、端口你懂得!
(2)添加“http cookie管理器”。
4、 右鍵“線程組”,添加一個“http請求”
在請求頁面填寫相應的信息
5、添加csv data set config
配置csv data set config(此圖是盜用的,寫的很詳細)
Filename:制定的文檔路徑和名字;可以右擊文檔-屬性,找到文檔的路徑,注意要寫上文檔名字和后綴;
File enconding:編碼格式,如果txt文檔中有中文,該行就要寫入utf-8;
Variable Names:定義參數;txt文檔中有幾列就定義幾個參數;參數見用英文逗號隔開;直接寫id,在其他模塊用的時候直接${id}調用即可;
Recycle on EOF:到了文件尾處,是否循環讀取參數;
Stop thread on EOF:到了文件尾,是否停止線程;
若:想把文檔中所有數據讀取一遍,且不重復,那么就要設置為:
Recycle on EOF:False;
Stop thread on EOF:True;
6、添加斷言
設置斷言,斷言也可以在文件中寫出,再使用參數調用的方式執行
7、修改線程組配置
因為我們只寫了一個http請求,所以點擊運行只會運行一次,我們想把txt文檔中所有行都執行一遍,所以我們要將線程數修改;目前txt中共多少行,所以線程組中線程數我們設置為多少行;
8、監聽結果:添加“查看結果樹”和“聚合報告”
查看結果樹:可以看到每個請求的執行成功失敗;
聚合報告:可以看出總共執行數和失敗情況等;
9、點擊運行,查看結果
點擊綠色箭頭運行,查看結果
(1)在“查看結果樹”中,可以看到參數請求的是那個值:將變量id引用到名稱后面,可以很好地對應結果和數據
(2)在“聚合報告”可以看所有線程有沒有執行完成
10、重復執行http請求
(1)添加循環控制器:
右擊http請求-插入上級-邏輯控制器-循環控制器;
(2)配置循環次數
(3)再次查看運行結果:一共執行了6次