【问题标题】:How to parse dynamic json reponse and get specific value and pass it as an input to next request如何解析动态 json 响应并获取特定值并将其作为输入传递给下一个请求
【发布时间】:2019-12-25 19:06:44
【问题描述】:

我从 API 获取 .json 文件作为响应,我应该从该文件中解析和查找特定参数并将其作为输入传递给下一个请求,我该如何使用 Katalon 来做到这一点。

如果我说

response = JSON.parse("response.json"); 

它说它无法将 JSON 识别为有效。有人可以帮我解决一下吗?

【问题讨论】:

  • 我真的会寻找任何其他方式来做到这一点 - 您尝试检索的参数是否可以通过任何其他方式确定?
  • 我的响应 json 如下所示,从那里我应该提取时间单号:
  • {"responseStatusCode":"OK""data":{"screenName":"employeeTimeslip","screenType":"Redirect","searchResultCount":0,"rows":[], "tabs":[],"searchParams":{"employeeID":"000092926","timeslipNumber":"201900019701"}

标签: json scala gatling katalon-studio


【解决方案1】:

您的 JSON 无效,可能是复制粘贴问题。

有效的 JSON 应该是

{
  "responseStatusCode": "OK",
  "data": {
    "screenName": "employeeTimeslip",
    "screenType": "Redirect",
    "searchResultCount": 0,
    "rows": [],
    "tabs": [],
    "searchParams": {
      "employeeID": "000092926",
      "timeslipNumber": "201900019701"
    }
  }
}

因此,您在“OK”和“data”之间缺少了一个“,”以及文件末尾的两个右花括号。

您可以使用在线 JSON 验证器自行检查 JSON 文件的有效性,例如,this one

【讨论】:

  • 是的,这是错字.. 感谢您的评论。我找到了解决办法
【解决方案2】:

我找到了一种从 json 响应文件中读取特定参数的方法,如下所示:

val scn = scenario("ClaimSubmission")

.exec(http("request_2") .post("网址") .headers(headers_2) .body(RawFileBody("json 文件路径")) .check(jsonPath("$..timeslipnumber").find.saveAs("timeslipnumber")))

Timeslip 编号将使用以下方法检索:.check(jsonPath("$..timeslipnumber").find.saveAs("timeslipnumber")))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-31
    • 1970-01-01
    • 2019-01-25
    • 2015-01-27
    • 1970-01-01
    • 1970-01-01
    • 2018-06-22
    相关资源
    最近更新 更多