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