Karate 动态响应的空手道断言
实际响应:Karate 动态响应的空手道断言,karate,Karate,实际响应: { "data": [ { "last_name": "Bluth", "id": 1, "avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/calebogden/128.jpg", "first_name": "George", "email": "george.bluth@reqres.in" }, { "last_nam
{
"data": [
{
"last_name": "Bluth",
"id": 1,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/calebogden/128.jpg",
"first_name": "George",
"email": "george.bluth@reqres.in"
},
{
"last_name": "Weaver",
"id": 2,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/josephstein/128.jpg",
"first_name": "Janet",
"email": "janet.weaver@reqres.in"
}
]
}
{"George","Janet"}
Feature: Array Match
Scenario:
* def act =
"""
{
"per_page": 6,
"total": 12,
"ad": {
"company": "StatusCode Weekly",
"text": "A weekly newsletter focusing on software development, infrastructure, the server, performance, and the stack end of things.",
"url": "http://statuscode.org/"
},
"data": [
{
"last_name": "Bluth",
"id": 1,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/calebogden/128.jpg",
"first_name": "George",
"email": "george.bluth@reqres.in"
},
{
"last_name": "Weaver",
"id": 2,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/josephstein/128.jpg",
"first_name": "Janet",
"email": "janet.weaver@reqres.in"
},
{
"last_name": "Wong",
"id": 3,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/olegpogodaev/128.jpg",
"first_name": "Emma",
"email": "emma.wong@reqres.in"
},
{
"last_name": "Holt",
"id": 4,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/marcoramires/128.jpg",
"first_name": "Eve",
"email": "eve.holt@reqres.in"
},
{
"last_name": "Morris",
"id": 5,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/stephenmoon/128.jpg",
"first_name": "Charles",
"email": "charles.morris@reqres.in"
},
{
"last_name": "Ramos",
"id": 6,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/bigmancho/128.jpg",
"first_name": "Tracey",
"email": "tracey.ramos@reqres.in"
}
],
"page": 1,
"total_pages": 2
}
"""
* def exp = ["George","Janet","Emma","Eve","Charles","Tracey"]
* match $act.data[*].first_name == exp
我有一个数据库对象,它返回first_name的数组
期望值:
{
"data": [
{
"last_name": "Bluth",
"id": 1,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/calebogden/128.jpg",
"first_name": "George",
"email": "george.bluth@reqres.in"
},
{
"last_name": "Weaver",
"id": 2,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/josephstein/128.jpg",
"first_name": "Janet",
"email": "janet.weaver@reqres.in"
}
]
}
{"George","Janet"}
Feature: Array Match
Scenario:
* def act =
"""
{
"per_page": 6,
"total": 12,
"ad": {
"company": "StatusCode Weekly",
"text": "A weekly newsletter focusing on software development, infrastructure, the server, performance, and the stack end of things.",
"url": "http://statuscode.org/"
},
"data": [
{
"last_name": "Bluth",
"id": 1,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/calebogden/128.jpg",
"first_name": "George",
"email": "george.bluth@reqres.in"
},
{
"last_name": "Weaver",
"id": 2,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/josephstein/128.jpg",
"first_name": "Janet",
"email": "janet.weaver@reqres.in"
},
{
"last_name": "Wong",
"id": 3,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/olegpogodaev/128.jpg",
"first_name": "Emma",
"email": "emma.wong@reqres.in"
},
{
"last_name": "Holt",
"id": 4,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/marcoramires/128.jpg",
"first_name": "Eve",
"email": "eve.holt@reqres.in"
},
{
"last_name": "Morris",
"id": 5,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/stephenmoon/128.jpg",
"first_name": "Charles",
"email": "charles.morris@reqres.in"
},
{
"last_name": "Ramos",
"id": 6,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/bigmancho/128.jpg",
"first_name": "Tracey",
"email": "tracey.ramos@reqres.in"
}
],
"page": 1,
"total_pages": 2
}
"""
* def exp = ["George","Janet","Emma","Eve","Charles","Tracey"]
* match $act.data[*].first_name == exp
我在这里使用场景大纲,因为我需要检查一系列测试,并且输出是动态的。我们如何为这类场景编写断言???
类似于response.data[].first_name==预期值???示例代码:
{
"data": [
{
"last_name": "Bluth",
"id": 1,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/calebogden/128.jpg",
"first_name": "George",
"email": "george.bluth@reqres.in"
},
{
"last_name": "Weaver",
"id": 2,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/josephstein/128.jpg",
"first_name": "Janet",
"email": "janet.weaver@reqres.in"
}
]
}
{"George","Janet"}
Feature: Array Match
Scenario:
* def act =
"""
{
"per_page": 6,
"total": 12,
"ad": {
"company": "StatusCode Weekly",
"text": "A weekly newsletter focusing on software development, infrastructure, the server, performance, and the stack end of things.",
"url": "http://statuscode.org/"
},
"data": [
{
"last_name": "Bluth",
"id": 1,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/calebogden/128.jpg",
"first_name": "George",
"email": "george.bluth@reqres.in"
},
{
"last_name": "Weaver",
"id": 2,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/josephstein/128.jpg",
"first_name": "Janet",
"email": "janet.weaver@reqres.in"
},
{
"last_name": "Wong",
"id": 3,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/olegpogodaev/128.jpg",
"first_name": "Emma",
"email": "emma.wong@reqres.in"
},
{
"last_name": "Holt",
"id": 4,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/marcoramires/128.jpg",
"first_name": "Eve",
"email": "eve.holt@reqres.in"
},
{
"last_name": "Morris",
"id": 5,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/stephenmoon/128.jpg",
"first_name": "Charles",
"email": "charles.morris@reqres.in"
},
{
"last_name": "Ramos",
"id": 6,
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/bigmancho/128.jpg",
"first_name": "Tracey",
"email": "tracey.ramos@reqres.in"
}
],
"page": 1,
"total_pages": 2
}
"""
* def exp = ["George","Janet","Emma","Eve","Charles","Tracey"]
* match $act.data[*].first_name == exp
参考链接:我跳过这篇文章,因为它太多了。看看你是否可以用5行代码创建一个简单的例子,或者只是等待其他人。您还可以阅读其他答案:|嘿,彼得,正如您所说的有限行,请检查您是否已经有了答案,谢谢您的评论!我会检查一下,然后给你回复!当我对$response.data[*]使用print关键字时,还有一个问题。first_name,这是否打印我的first_name数组?使用def将其分配给变量,并打印变量
给定url'https://reqres.in/api/users'When method Get*def values=$response.data[*].first_name;*打印值
我无法打印请在我给出的示例中尝试。它对我有用。另外,请尝试打印GET响应,以检查数据是否首先正确到达。