当前位置: 首页 > 知识库问答 >
问题:

空手道DSL在作为json参数传递时拉出括号

钱凌
2023-03-14

我试图在一个特性中将一些json数据作为参数传递。请求失败了,因为它看起来像是空手道从我传入的字符串中删除了括号。一旦它发出请求,我就可以看到“list”元素消失后的括号。如果我接受空手道提出的编码请求,并手动添加括号,它们应该在的地方,它工作得很好。

我们可以试着用其他几种方法传递它,但我想明白为什么它会把能用的东西变成不能用的东西。

"start": "1557943276102",
  "end": "1559152876102",
  "page": 1,
  "user": "0000000000000001",
  "list": [              <---- this bracket gets stripped
    {
      "field1": [
        "field2",
        "field3",
        "field4"
      ],
      "field5": "123456"
    }
  ],                     <---- this bracket gets stripped
  "authToken": "theauthtoken"
}

然后将其设置为诸如*params jsondata之类的参数

我的请求失败了,如果括号保持不变,则请求有效。

共有1个答案

魏俊茂
2023-03-14

params的情况下,数组表示重复的值,这在现实生活中很常见,请参阅params.feature。如果确实需要括号,请使用字符串值:

"list": '[{"field1":["field2","field3","field4"],"field5":"123456"}]'
 类似资料:
  • 假设我有一个需求完全相同的测试场景,但有一个路径变量更改,如下所示: 方案:某些方案

  • 我们已经阅读了空手道文档,在这里我们可以将确切的JSON对象作为响应(包含多个数据记录)进行比较,但是我们如何在一个场景中传递和读取JSON呢? 下面是我的sample.json,我想在请求负载中阅读这个内容。 我已经尝试了上面格式的JSON结构,但是,我得到的是以下异常。帮帮我吧。 建议如何在单个场景的请求负载中读取和传递它。

  • https://stackoverflow/v1/questions?time_from=2021-03-08t17:15:26和time_to=2021-03-08t17:21:26

  • 我有一个情况,我需要在空手道中传递不同种类的日期类型变量。为此,我创建了一个JAVA方法,并在一个特性文件中调用它,如下所示。 我读到它的cucumber限制,不能支持动态变量在场景大纲。我也读过https://github.com/intuit/karate#the-karate-way,但不知何故,我不知道如何解决下面的情况。

  • 我正在尝试用join在多个表中创建查询,并将列表作为参数传递。我将null&empty检查放在查询字符串中。但是,我在QueryNode.GetDataType上获得了NullPointerException。下面是查询和异常。 用户、角色和shopNames是列表,而customer是字符串。我创建的查询通常只使用带有null检查的字符串,它起作用了。然而,对于列表,它错误地使用了下面的列表。任

  • 问题内容: 我正在上unix / linux类,我们还没有学习变量或函数。我们刚刚学习了一些基本实用程序,例如标志和管道,输出和追加到文件。在实验室任务中,他希望我们找到最大的文件并将其复制到目录中。 我可以获得5个最大的文件,但我不知道如何在一个命令中将它们传递给cp 问题答案: 这将是: 假设管道是正确的。反引号替换该行中命令的输出。 您还可以进行测试: 将全部复制,和成。