1

我是 JavaScript 和空手道的新手。这本身可能不是一个以空手道为中心的问题,但是,我想知道解决方案是否可以通过任何机会在本机空手道中完成。

我已经查看了此处的现有问题,但由于我的独特输入,它们似乎不太可能起作用。这个答案看起来很有希望,但对我来说并不奏效:Adding new key-value pair into json using karate

我有一个 JAVA 方法,它为 POST 调用生成一个由 JSON 对象(其中有一个辅助 json 对象)组成的有效负载。有效载荷看起来像这样:

[
  {
    "keyId": "s123",
    "clientId": "c0909",
    "regionInfo": {
      "geoTag": "3s98d238",
      "locationId": 32
    }
  }
]

现在我正在做一个测试,我必须在有效负载中插入一个虚假的键/值对,并确保它在 POST 调用本身中被忽略,我们返回 200。我尝试使用 karate.merge 和 karate.append,但是到目前为止,他们还没有工作。

键值对如下所示:

{'bogusfield': 'ABC', 'bogusfield': '123', 'bogusfield': 'abc123', 'bogusfield': 'abc123!$%'}

所以总共会有四个 POST 调用,每个调用都有不同的值。有没有办法完成这个?如果我错过了提供任何关键细节/和/或如果这个问题太新奇,我深表歉意。预先感谢您的所有帮助!

4

1 回答 1

1

这是一个简单的示例,它使用您想要的有效负载编辑发出 4 个请求,这应该会让您上路:

Feature:

Scenario Outline:
* url 'https://httpbin.org'
* path 'anything'
* def body = { foo: 'bar' }
* body.bogusField = bogusValue
* request body
* method post

Examples:
| bogusValue |
| ABC        |
| 123        |
| abc123     |
| abc123!$%  |
于 2021-06-20T04:48:52.257 回答