在Postman中测试返回随机值的请求

xfb7svmp  于 2022-11-07  发布在  Postman
关注(0)|答案(2)|浏览(195)

我正在学习Postman。我有一个从键返回随机值的查询:

GET https://apitest.backendless.com/A1DA5DF0-8D22-BAC4-FF56-9A0074DC9B00/8834B7F8-88BD-4472-9051-71BE31A3EE5B/hive/rootKeys/set/root1/random?count=2

您可以使用工作请求。该键包含值["1", "2", "3", "4", "5"]
问题是:如何为返回随机值的查询编写测试呢?

let jsonData = JSON.parse(responseBody);
    pm.test("Random values", function(){
        pm.expect(jsonData).to.eql(["1", "2"])
})

因为它可能返回[“3”,“5”]。那么如何检查请求的有效性呢?

nhn9ugyo

nhn9ugyo1#

一个非常基本的检查可能是这样的:

let response = pm.response.json();

pm.test("Random Number Check", () => {
    pm.expect(response, "Response contains a number not in the array").to.contain.oneOf(["1", "2", "3", "4", "5"]);
});
fnx2tebb

fnx2tebb2#

我已经创建了一个 Postman 请求(https://www.postman.com/southlondon/workspace/playground/request/19391207-0bbb11cb-249c-4fe2-963e-5b73b8cabc9b)供您直接测试。它发送一个包含1到5的随机数组的有效负载。您可以单击几次send来查看差异。您可以打开该链接并测试它。测试本身试图验证数组中是否只存在1到5的值:

pm.test("Check that array only contains numbers from 1 to 5 ", function () {
    let jsonData = pm.response.json();
    let array = jsonData.data
    array.every( x => x >= 1 && x <=5 )
});

这涵盖了数据将发送超出您描述的范围的值的情况。

相关问题