如何在空手道中使用条件

Ami*_*rai 5 if-statement karate

假设我有以下Json响应

[
    {
        id: 1,
        name: "John",
        password: "JohnsPassword54",
    },
    {
        id: 2,
        name: "David",
        password: "DavidsPassword24",
    }
]
Run Code Online (Sandbox Code Playgroud)

那么如何使用名称David提取数组以进行进一步验证?

例如,我想说,如果名称==大卫然后保存ID

Pet*_*mas 7

干得好:)掌握Json-Path是充分利用空手道的关键!

只是为了演示,这里是另一个选项,使用get关键字从返回的数组中获取第一个元素,因为Json-Path通配符搜索总是返回一个数组:

* def response = 
"""
[
    {
        id: 1,
        name: "John",
        password: "JohnsPassword54"
    },
    {
        id: 2,
        name: "David",
        password: "DavidsPassword24"
    }
]
"""
* def userId = get[0] response $[?(@.name == 'David')].id
* match userId == 2
Run Code Online (Sandbox Code Playgroud)