def array = response.data[?(@.name=='#(name)')] 在 karatae 中不起作用

问题描述 投票:0回答:1

API是 { 数据:[{ 姓名:'约翰',年龄:30 },{ 姓名:'拉胡尔',年龄:38 },{ 姓名:'阿伦',年龄:42 }] }

  • def 名称 = '阿伦'
  • def 数组 = response.data[?(@.name=='#(name)')][0] 不工作

尝试使用 karatae 1.2 查找带有变量的数组

karate
1个回答
0
投票
Feature: Test Feature
 Scenario: Test Scenario
    * def responseValue =
      """
      { "data": 
      [
      { "name": "John", "age": 30 }, 
      { "name": "Rahul", "age": 38 }, 
      { "name": 'Arun', "age":42 }
      ] 
      }
      """
    * def jsonArrayValue = get responseValue.data[?(@.name=='Arun')]
    * print jsonArrayValue

© www.soinside.com 2019 - 2024. All rights reserved.