get、post請求方式在jmeter中使用步驟


jmeter:性能測試工具,壓測

一、jmeter工具測試接口時使用步驟:

 1、測試計划右鍵--添加--Threads(Users)--線程組(線程數就是並發數)

2、線程組右鍵--Sampler--HTTP請求--填寫域名或IP、端口默認80,選擇請求方式get,輸入接口url域名后面的路徑以及?后面的參數及值,最上面的請求名稱可以進行修改--點擊上面的運行按鈕去查看

3、查看:右鍵線程組--添加--監聽器--察看結果樹--點擊上面的運行按鈕,查看返回值

 

二、接口測試的情況:

1、get請求方式:

使用步驟:使用上面的操作步驟填寫好域名或ip--請求民稱修改--請求方式以及域名后面的url路徑以及參數--進行查看

2、post請求方式(最簡單的post請求,只有鍵值對時)

按照jmeter使用步驟填寫好域名、路徑、post方式、請求名稱--在Parameters中添加key-value-再去運行查看結果樹

幾個接口中存在公共元素時,比如域名或參數,可以設置公共元素

右鍵線程組--添加--配置元件--HTTP請求默認值--比如設置域名或參數--回到接口中去掉域名或參數--再去運行查看--仍然返回同樣的結果

3、當post請求,入參為json時,在Body Data中輸入{}和一個個鍵值對,如

4、post請求方式,且存在單個cookie時(用HTTP Cookie管理器)

題目:該接口有權限驗證,需要admin用戶才可以做操作,需要添加cookie

cookie中key為登錄的用戶名,value從登錄接口中獲取,登陸成功之后會返回sign

使用步驟:右鍵接口--添加--配置元件--HTTP Cookie管理器--添加按鈕--名稱填寫登錄用戶名,value填寫登錄接口中這個用戶登錄成功之后返回的sign值,域名填寫域名(這個域名和HTTP請求默認值填寫的域名沒有關系,這里需要寫)--再回到接口中填寫key-value值、post方式、域名和url即可

5、HTTP信息頭管理器:適用於1、cookie含有多個鍵值對      2、沒有cookie,只有請求頭header時的情況,也用HTTP信息頭管理器

5.1、上面的情況僅適用於只有一個cookie值時,當cookie含有多個鍵值對(用HTTP信息頭管理器)時,采用以下辦法:

比如qq群管理--qun.qq.com登錄之后訪問群管理--F12--Network--刷新--XHR

選擇左下側的get_group_list或get_friend_list或search_group_memebers可以查看到實際的結果值,

5.1到postman里面去輸入url(F12查看的Headers里面的Request URL),選擇post方式,輸入cookie和值(Request Headers里面的cookie值),以及鍵值對key-value(F12Headers最下面的form-data就是輸入參數)

5.2到jmeter中輸入域名、url--選擇post方式--以及鍵值對(F12Headers最下面的form-data)--然后右鍵接口--添加--配置元件--HTTP信息頭管理器--名稱為cookie,值為很多個鍵值對的cookie值

 

5.2、當含有請求頭時,也用HTTP信息頭管理器

 

 

6、文件上傳接口

使用步驟:接口中選擇post方式--填寫域名、路徑--選擇Files Upload--瀏覽--上傳文件,在參數名稱中填寫參數即可

如果查看的時候報錯,在接口中MIME中填寫txt即可

 

三、參數化:

1、random隨機范圍:選項--函數助手對話框--選擇_Random--輸入最小最大值--點擊生成--復制生成的函數字符串--放到接口中要參數化的地方,比如我復制0000-9999生成的隨機數,復制到手機號的后4位--再去運行的時候可以看到隨機生成的手機號,也可以在線程組里將循環次數設置5次,點擊一次運行,就會自動運行5次,生成5次結果

 

斷言(自動幫你校驗返回的是否正確):右鍵接口--添加--斷言--響應斷言--模式匹配規則改為“包括”--下面的測試的模式寫為接口返回結果中的一個參數名--如果最終接口返回值中不含有這個參數名,運行就會報錯

 

2、time時間戳(從計算機誕生那一天到現在過了多少秒):選項--函數助手對話框--選擇_time--輸入年月日時分秒的表達方式--點擊生成--復制函數字符串到接口中,在去運行幾次看結果

3、用戶定義的變量:右鍵線程組--添加--配置元件--用戶定義的變量--設置名稱和值:比如名稱隨便寫一個(host),值為域名(aa.bb.com),那前面接口中需要調用這個相同域名的地方,改成${host}就可以了

4、CSV Data Set Config讀取文件中的數據:右鍵接口--添加--配置元件--CSV Data Set Config

4.1、當文件中是單行數據時,比如1    2   3   4都是換行顯示的:filename設置文件的絕對路徑C:\Users\LIXUELIAN\Desktop\單行數據.txt,Variable Names寫參數名userid,去添加學生接口那里,調用${userid},察看結果時,會看到返回三年1班,三年2班,三年3班......

4.2、當文件中含有多個參數時,用,隔開:Filename設置文件的絕對路徑--設置多個參數名,中間用英文的,隔開,Delimiter表示用什么隔開(這里就是,)--登錄接口設置用戶名和密碼的參數化,如下圖3--再去查看結果返回的是否正確

5、cookie的參數化:要從上一個接口中獲取到的動態值傳給下一個接口(登錄接口中的sign值傳給金幣充值接口)

思路:1.先從登錄接口中獲取sign值--先添加后置處理器jp@gc - JSON Path Extractor

2.讀取登錄接口中的sign值--$.login_info.sign

 

3.回到金幣充值接口--在HTTP Cookie管理器中,設置用戶名${username}、cookie值${sessionid}的參數化,或是在HTTP信息頭管理器中設置${username}=${sessionid}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM