簡體   English   中英

如何在 Postman 測試中的單個查詢中使響應代碼 200 和 400 保持一致

[英]How to make response codes 200 and 400 consistent in a single query in Postman test

我目前正在編寫登錄功能測試。

測試代碼

pm.test("status is 200", function() {
    pm.expect(pm.response.code).to.eql(200)
})

pm.test("status is 400", function() {
    pm.expect(pm.response.code).to.eql(400)
})

預請求腳本

const requestJson = JSON.parse(pm.request.body.raw);
requestJson.email = "test@test.com"
requestJson.password = "testtest"
pm.request.body.raw = JSON.stringify(requestJson)
console.log(requestJson)

請求體

{
   email: "string",
   password: "pass",
}

如果通過了成功的請求數據,則只有 200 次狀態測試通過,如果通過了不正確的請求數據,則只有 400 次狀態測試會通過。

是否可以在成功測試之前更改請求數據並在失敗測試之前更改請求數據?

如果沒有,我是否必須創建兩個查詢,一個用於成功,一個用於失敗?

你究竟想做什么? 目前,您的測試相互矛盾。 響應不能同時具有 200 和 400 狀態。 如果要測試,例如狀態是 200 還是 400,您可以使用

pm.test("status is 200 or 400 ", function() {
  pm.expect(pm.response.code).to.be.oneOf([200, 400]);
})

您還可以根據響應代碼執行其他測試

if (pm.response.code == 200) {
  pm.test("tests for successful response", function () {
    ...
  })
} else {
  pm.test("tests for error response", function () {
    ...
  })
}

但是如果你真的想使用郵遞員進行測試,我建議你為成功和錯誤的請求創建單獨的請求......

順便說一句:不成功的登錄應該返回401 Unauthorized而不是 400 Bad Request

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM