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

如何在空手道DSL中使用数据驱动方法传递多条json记录?

邰宇
2023-03-14

我们已经阅读了空手道文档,在这里我们可以将确切的JSON对象作为响应(包含多个数据记录)进行比较,但是我们如何在一个场景中传递和读取JSON呢?

下面是我的sample.json,我想在请求负载中阅读这个内容。

[{“姓名”:“John”,“薪水”:“10000”,“年龄”:“25”},{“姓名”:“Maria”,“薪水”:“20000”,“年龄”:“27”}]

我已经尝试了上面格式的JSON结构,但是,我得到的是以下异常。帮帮我吧。

状态代码为:400,预期:200,响应时间:4315

建议如何在单个场景的请求负载中读取和传递它。

共有1个答案

范浩荡
2023-03-14

状态代码400表示您在请求中犯了其他错误。空手道工作得很好,它只是一个HTTP客户端,也许请求不是服务器所期望的“形状”。如果可以,请与服务器端团队交谈,或者查看API的文档。

这里有一个简单的例子可以工作,粘贴它并试试看:

* def body = [{"name":"John","salary":"10000","age":"25"}, {"name":"Maria","salary":"20000","age":"27"}]

* url 'https://httpbin.org/post'
* request body
* method post
* status 200

编辑:关于循环,请阅读文档。

Feature:

Background:
* def data = [{"name":"John","salary":"10000","age":"25"}, {"name":"Maria","salary":"20000","age":"27"}]

Scenario Outline:
* url 'https://httpbin.org/post'
* request __row
* method post
* status 200

Examples:
| data |
 类似资料:
  • 我试图在一个特性中将一些json数据作为参数传递。请求失败了,因为它看起来像是空手道从我传入的字符串中删除了括号。一旦它发出请求,我就可以看到“list”元素消失后的括号。如果我接受空手道提出的编码请求,并手动添加括号,它们应该在的地方,它工作得很好。 我们可以试着用其他几种方法传递它,但我想明白为什么它会把能用的东西变成不能用的东西。 然后将其设置为诸如之类的参数 我的请求失败了,如果括号保持不

  • 假设我有一个需求完全相同的测试场景,但有一个路径变量更改,如下所示: 方案:某些方案

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

  • 我有一个JSON数据文件 首先,我想读取这个数据,当wheels.value==Yes时,我想点击一个API,否则点击另一个API,我想知道如何在post请求中或从文件中传递多个参数。 Post请求数据如下: 上面的数据我正在邮递员中传递“表单-数据”。 提前致谢

  • 我的XML请求如下所示: null 我正在CDATA体中从外部传递#(ref),但它不读取它。 我在做什么不对劲吗?

  • 我是新技术的,请原谅我的错误。任何人的任何帮助都是值得的。我需要生成格式为12345AB6-A1DF-4F40-B0FE-26DF6908F62C的随机guid。谢谢