【Jmeter篇】1小时轻松搞定项目接口自动化测试与数据驱动
? ? ? 之前我們的用例數(shù)據(jù)都是配置在?Jmeter?Http 請求中,每次需要增加,修改用例都需要打開 jmeter 重新編輯,當用例越來越多的時候,用例維護起來就越來越麻煩,有沒有好的方法來解決這種情況呢?
其實我們可以將用例的數(shù)據(jù)存放在 csv 文件中,然后通過 csv 文件配置來讀取用例中的數(shù)據(jù),執(zhí)行測試。用例數(shù)據(jù)如下圖所示:
?
用例設(shè)計
創(chuàng)建用例文件:login.csv
保存目錄C:\jmeter\apache-jmeter-5.0\bin\parameter\login.csv,csv數(shù)據(jù)設(shè)置文件中要用到這個路徑
用例名稱含義:
Name 接口名稱 ${Name}
CaseNo 用例編號?${CaseNo}
Priority 優(yōu)先級?${Priority }
Type?請求方法?${Type}
Url 域名?${Url}
Param 參數(shù)?${Param}
Assertion 斷言值?${Assertion}
?
Jmeter設(shè)置步驟:
1、新建一個線程組,命名為:數(shù)據(jù)驅(qū)動
2、創(chuàng)建一個 HTTP請求默認值放域名、HTTP信息頭管理器放頭信息,供所有接口共用,如圖:
3、添加循環(huán)控制器
線程組——添加——邏輯控制器——循環(huán)控制器。 循環(huán)控制器的作用可以控制整個用例循環(huán)執(zhí)行的次數(shù)。默認值是 1 根據(jù)用例數(shù)量可以修改為 8,循環(huán)8次
4、在循環(huán)控制器節(jié)點下創(chuàng)建 CSV 文件設(shè)置
循環(huán)控制器—添加—CSV 數(shù)據(jù)文件設(shè)置,循環(huán)讀取excel用例數(shù)據(jù)的每個字段,具體配置內(nèi)容如下:
5、創(chuàng)建?if 控制器,步驟為:循環(huán)控制器——添加——邏輯控制器——if 控制器()
if 控制器的作用判斷用例優(yōu)先級,可以選取性執(zhí)行
條件語句為:"${Priority}"=="H"其中 ${Priority}表示引用 csv 中的 Priority中的值。
6、創(chuàng)建兩個 if 控制器,步驟為:優(yōu)先級控制器——添加——邏輯控制器——if 控制器
if 控制器的作用為根據(jù)不同請求方式執(zhí)行不同的請求,例如這里根據(jù)不同的接口請求類型,分別創(chuàng)建了 GET 和 POST 兩個控制器。
GET 設(shè)置的條件語句如下:
條件語句為:"${Type}"=="get"其中 ${Type}表示引用 csv 中的 Type中的值。
POST 設(shè)置的條件語句如下:
POST 條件語句設(shè)置為:"${Type}"=="post"其中 ${Type}表示引用 csv 中的 Type中的值
7、GET 和 POST 兩個控制器下分別添加采樣器、斷言、結(jié)果樹
8、創(chuàng)建請求類型設(shè)置
創(chuàng)建 GET 請求類型的用例如下:
用例名稱格式:${Name}_${CaseNo} 接口地址_用例編號
接口路徑:${Name}?${Param} 接口地址?參數(shù)
?
創(chuàng)建 POST?請求類型的用例如下:
POST 用例設(shè)置和 GET 類似,不過參數(shù)請求不一樣,是在 body 中,如果發(fā)送的是json格式的參數(shù)
用例名稱格式:${Name}_${CaseNo} 接口地址_用例編號
接口路徑:${Name} 接口地址
消息體:${Param} 參數(shù)
?
9、設(shè)置斷言
GET請求喝POST請求下分別設(shè)置斷言${Assertion}? =cvs中Assertion
10、查看GET和POST請求接口傳參
GET:
http://www.baidu.com/1.0/users/login?username=1
?
POST:
http://www.baidu.com/1.0/users/login
{"username":2}
這樣簡單的操作就實現(xiàn)了Jmeter接口自動化的數(shù)據(jù)分離,簡單的Jmeter配置+csv用例數(shù)據(jù)
總結(jié)
以上是生活随笔為你收集整理的【Jmeter篇】1小时轻松搞定项目接口自动化测试与数据驱动的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java读取csv合适文件_解析-您可以
- 下一篇: grpc例子