文章目錄
- 一、沒有使用引數化
- 二、引數化
- 1. 測驗資料部分欄位引數化
- 1.1 引數化檔案login1.json內容如下:
- 1.2 Postman設定
- 1.3 關聯檔案,發送請求
- 2. 請求體引數化:請求體作為字串處理
- 2.1 引數化檔案login2.json內容如下:
- 2.2 Postman設定
- 3. 請求體引數化:通過Pre-request Scrip預處理
- 3.1 引數化檔案login3.json內容如下
- 3.2 Pre-request Scrip預處理
- 3.3 json請求體處理
一、沒有使用引數化

請求url:
https://postman-echo.com/post
json請求體:
{
"user":"admin",
"pwd":"abc1234"
}

斷言代碼:
pm.test("用戶名密碼正常,登陸成功", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.data.user).to.eql("admin");
pm.expect(jsonData.data.pwd).to.eql("abc1234");
});
- 沒有引數化,如果有多個用例,即需在postman設定多個請求,重復率高
二、引數化
-
引數化支持的檔案格式:json、csv
-
這里以json格式舉例
-
注意:
- 保存為UTF-8編碼格式
- 一個測驗用例一條資料

- 一條資料內容一般包含
- 用例名稱
- 測驗資料
- 預期結果

1. 測驗資料部分欄位引數化
1.1 引數化檔案login1.json內容如下:
[
{
"case_name": "用戶名密碼正常,登陸成功",
"username": "admin",
"password": "abc1234",
"expect_user": "admin",
"expect_pwd": "abc1234"
},
{
"case_name": "用戶名錯誤,登陸失敗",
"username": "adminxxx",
"password": "abc1234",
"expect_user": "adminxxx",
"expect_pwd": "abc1234"
},
{
"case_name": "密碼錯誤,登陸失敗",
"username": "admin",
"password": "abc1234mike",
"expect_user": "admin",
"expect_pwd": "abc1234mike"
}
]
1.2 Postman設定

json請求體:
{
"user":"{{username}}",
"pwd":"{{password}}"
}

斷言代碼:
pm.test(data.case_name, function () {
var jsonData = pm.response.json();
pm.expect(jsonData.data.user).to.eql(data.expect_user);
pm.expect(jsonData.data.pwd).to.eql(data.expect_pwd);
});
1.3 關聯檔案,發送請求
-
注意:參考引數化檔案不能直接點send按鈕發送請求
-
需通過批量運行run按鈕選擇檔案,再運行





2. 請求體引數化:請求體作為字串處理
-
處理方式
-
最外層加上雙引號
-
里面本身的雙引號左邊加上反斜杠\
-

-
2.1 引數化檔案login2.json內容如下:
[
{
"case_name": "用戶名密碼正常,登陸成功",
"body": "{\"user\": \"admin\", \"pwd\": \"abc1234\"}",
"expect_user": "admin",
"expect_pwd": "abc1234"
},
{
"case_name": "用戶名錯誤,登陸失敗",
"body": "{\"user\": \"adminxxx\", \"pwd\": \"abc1234\"}",
"expect_user": "adminxxx",
"expect_pwd": "abc1234"
},
{
"case_name": "密碼錯誤,登陸失敗",
"body": "{\"user\": \"admin\", \"pwd\": \"abc1234mike\"}",
"expect_user": "admin",
"expect_pwd": "abc1234mike"
}
]
2.2 Postman設定

json請求體:
{{body}}
- 斷言設定,關聯檔案,發送請求,和上面一樣,這里不再重復截圖
- 斷言設定,關聯檔案,發送請求,和上面一樣,這里不再重復截圖
3. 請求體引數化:通過Pre-request Scrip預處理
3.1 引數化檔案login3.json內容如下
[
{
"case_name": "用戶名密碼正常,登陸成功",
"body": {"user": "admin", "pwd": "abc1234"},
"expect_user": "admin",
"expect_pwd": "abc1234"
},
{
"case_name": "用戶名錯誤,登陸失敗",
"body": {"user": "adminxxx", "pwd": "abc1234"},
"expect_user": "adminxxx",
"expect_pwd": "abc1234"
},
{
"case_name": "密碼錯誤,登陸失敗",
"body": {"user": "admin", "pwd": "abc1234mike"},
"expect_user": "admin",
"expect_pwd": "abc1234mike"
}
]
3.2 Pre-request Scrip預處理

// json轉string
body_value = JSON.stringify(data.body);
// 設定全域變數
pm.globals.set("body_value", body_value);
3.3 json請求體處理

json請求體:
{{body_value}}
- 斷言設定,關聯檔案,發送請求,和上面一樣,這里不再重復截圖
- 斷言設定,關聯檔案,發送請求,和上面一樣,這里不再重復截圖
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/345713.html
標籤:其他
上一篇:java+swing+mysql酒店管理系統分析設計
下一篇:HTML基礎
