gpt4 book ai didi

api - POSTMAN - 测试失败为真

转载 作者:行者123 更新时间:2023-11-28 21:19:03 25 4
gpt4 key购买 nike

作为初学者,我有几个问题。我正在使用 Get 请求,它将填充下面的 json。

https://reqres.in/api/users

{
"total": 12,
"total_pages": 4,
"data": [{
"id": 1,
"first_name": "George",
"last_name": "Bluth",
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/calebogden/128.jpg"
}]
}

对于下面的 2 个测试,当第一个测试通过时,第二个测试失败并显示消息:

 AssertionError: expected false to be truthy

//Verify Page number total is 12
var jsonData = JSON.parse(responseBody);
tests["Checking total page number-Manual"] = jsonData.total === 12;

//verify is exists and is 1
var jsonData = JSON.parse(responseBody);
tests["Checking ID exists and is 1"] = jsonData.id === 1;

问题一:我发现的一个 github 帖子说可能有错误并建议使用 新的 pm.* 等效项。但是我看不出第一个和第二个有什么区别。那么为什么第二次测试失败了呢?

问题二:是否可以编写测试来验证 ID:1 的名字是 George?

提前感谢您的宝贵时间。

最佳答案

您的第二次测试失败的原因是数据是一个数组,在这种情况下您必须访问第一个元素。你会想做这样的事情(新语法):

pm.test("Verify id is equal to 1", function() {
var jsonData = pm.response.json();
pm.expect(jsonData.data[0].id).to.equal(1);
});

同样测试名字是乔治:

pm.test("Verify id is equal to 1", function() {
var jsonData = pm.response.json();
pm.expect(jsonData.data[0].first_name).to.equal("George");
});

如果您总是希望它只是数组中的单个元素,那么您可以安全地使用索引 0,即 data[0]。但是,如果您希望数据数组中有更多元素,则必须遍历它们以查找正确的元素。

这是一个很好的 API 引用:

https://learning.getpostman.com/docs/postman/scripts/postman_sandbox_api_reference/

关于api - POSTMAN - 测试失败为真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54352177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com