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

如何在空手道框架中传递post请求中的多个参数?

章彬郁
2023-03-14

我有一个JSON数据文件

{
  "Status": "Pending",
  "role": "manager",
  "client": "android",
  "user": "test@abc.com",
  "eTyres":
  {
    "Wheels": {
      "title": "Alloy Wheel",
      "value": "Yes"
    }
 }
}

首先,我想读取这个数据,当wheels.value==Yes时,我想点击一个API,否则点击另一个API,我想知道如何在post请求中或从文件中传递多个参数。

Post请求数据如下:

title:Alloy_wheel__Info
part:acCooling
partTitle:AC Cooling
partValue:No

上面的数据我正在邮递员中传递“表单-数据”。

提前致谢

共有1个答案

楚羽
2023-03-14

您的问题很难理解,我假设您希望循环一些给定的JSON数组并执行一些操作。听起来你不是在“测试”和误用空手道!

要在JSON数组上循环,请使用call。请参阅文档:https://github.com/intuit/karate#data-drivened-features

要做条件,请阅读文档的这一部分:https://github.com/intuit/karate#condition-logic

要执行“表单-数据”,请阅读以下内容:https://github.com/intuit/karate#form-field

* def data = { "Status": "Pending", "role": "manager", "client": "android", "user": "test@abc.com", "eTyres": { "Wheels": { "title": "Alloy Wheel", "value": "Yes" } } }
* eval data.eTyres.Wheels.value == 'Yes' ? karate.call('api1.feature') : karate.call('api2.feature')

如何实现api1.featureapi2.feature是您的功课。请记住,您仍然可以访问data变量。请阅读文档和示例!

 类似资料:
  • 我试图在我的POST请求中传递一个应用程序特定的头,但是我得到了错误-步骤头XXX-XXX没有一个匹配的胶水代码。 如何在请求中指定特定于我的应用程序的头。以下是我正在提交的示例请求:

  • 我正在使用RestTemplate方法将请求发布到endpoint。我在不同的文件中有和,我想把它们传递给POST请求,除此之外,我还想把传递给endpoint。 我能够成功地传递头和请求,但不能传递包含凭据的Http实体 有没有办法让我三样东西都及格 > HttpHeader 要求 这是我的密码 以下代码位于NewHttpHeader中。包含和

  • 我正在使用空手道框架为我的应用程序编写一个BDD(行为驱动开发脚本)。我想用content-type=multipart/formdata发出一个POST请求。当发出POST请求时,数据不会传递到后端应用程序。 希望保存数据,但我没有看到数据传递到后端应用程序。这是传递multipart/formdata的正确方式吗?

  • 附注。此示例在空手道版本:0.9.0.rc5中工作

  • 问题内容: 我已经按照此链接中所述的教程进行操作。在下面的代码中,由于某种原因,数据不会作为参数附加到url上,但是如果我使用它直接将其设置为url 则可以。 问题答案: 对于简单的情况,我建议您使用jQuery 的或语法: 如果您需要捕获失败案例,请执行以下操作: 此外,如果您始终发送JSON字符串,则可以在最后使用$ .getJSON 或$ .post以及另一个参数。

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