介面測試之postman

何周钦發表於2024-11-19

一、介紹postman
Postman是一個網頁除錯工具,也可以除錯css、html等
Postman的操作環境
環境:Postman Mac、Windows X32、Windows X64、Linux系統、
postman 瀏覽器擴充套件程式、postman chrome應用程式
Postman下載:https://www.postman.com/downloads/
三、postman使用
1、建立集合

3、介紹postman主介面

頁面功能介紹詳解:
(1)Authorization 授權
(2)響應體的三種方式檢視:
Pretty
Raw
Preview

Pretty方式,可以讓JSON和XML的響應內容顯示的更美觀規整
Raw方式,顯示的是最原始的資料,原生的
Preview方式,幫你把HTML頁面自動解析顯示出來
(3)請求
HTTP請求的四部分:URL、Method、Headers、Body都可以設定
(4)body
3.4.1 form-data
form-data是web表單預設的傳輸格式,編輯器允許你透過設定key-value形式的資料來模擬填充表單,你可以在最後的選項中選擇新增檔案。
3.4.2x-www-form-urlencoded
這個編碼格式同樣是透過設定key-value的方式作為URL的引數
3.4.3raw
一個raw請求可以包含任何內容,在這裡你可以設定我們常用的JSON和XML資料格式
3.4.14binary
這裡可以上傳傳送影片、音訊、圖片、文字等文
4、新增環境


5、設變數,引數化
{{}} 用花括號
在環境變數種設定引數

6、依賴介面(多個介面直接存在依賴關係,比如登入後查詢,登入後的刪除)
先傳送登入介面,生成cookies值,後面介面就會自動獲取cookies,cookies一致就會依賴登入

7、斷言(一個介面沒有斷言是沒有靈魂)

介面是通的,但是內容是否正確,就要進行斷言

斷言語句:

版本1:

pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});

pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("登入帳號不能為空!");
});
版本2:

// 斷言介面響應時間小於200ms

tests[“Response time is less than 200ms”] = responseTime < 200;

// 斷言介面的響應狀態碼等於200

tests[“Status code is 200”] = responseCode.code === 200;
// 斷言響應的結果中包含某個字元
tests[“cms_post介面”] = responseBody.has(“登入成功”);
8、關聯介面
關聯介面
拿上一個介面的返回引數,做下一個介面入參
省份介面:
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportProvince
城市介面:
post http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportCity
body byProvinceName 身份
案例:



// 將響應體中的內容轉換成json格式,設定一個變數jsonobject ,

var jsonObject = xml2Json(responseBody);
// 通果jsonobject 拿到對應的所有值或者加上索引拿到單個值
js=jsonObject.ArrayOfString.string[4]
// 將拿到的值新增到環境變數中,作為下一個介面引用
pm.environment.set("cs", js);

介面引數化(透過csv檔案設定變數)
1、建立一個csv檔案

2、點選run

3、在前置處理器中新增環境變數



run可以進行介面自動化測試,可以執行一個集合中的介面

相關文章