【问题标题】:How select json value in soapui property transfer from HTTP request?如何从 HTTP 请求中选择 soapui 属性传输中的 json 值?
【发布时间】:2014-10-21 09:04:20
【问题描述】:

这是一个原始响应:

HTTP/1.1 200 OK
Date: Tue, 21 Oct 2014 08:46:31 GMT
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Server: Jetty(9.2.2.v20140723)

{"id":"myId"}

我尝试设置属性(来源是来自另一个测试步骤的响应,属性可以是请求、响应等)响应和 ResponseAsXML,对于两者我都无法提取值。并尝试 xPath 选择,但它不起作用。 是否可以使用 json 从 HTTP 响应中提取id

更新

如果我选择 ResponseAsXml,我会得到以下字符串:

[<Response xmlns="http://localhost/path">
   <id>882fe993-d150-b67c-4b0f-014931e2dd21</id>
</Response>]

我已经尝试过 xPath:

declare namespace sam="http://localhost/path";
//sam:response

我还写了//sam:Response//response 结果是[null] 字符串。

【问题讨论】:

  • 你有一些代码要显示吗?这对于 ResponseAsXml 来说应该是微不足道的。
  • 我试过了,但结果总是[null]。我尝试使用 xPath,如 soapui 中的示例。
  • 你有一些代码要显示吗?

标签: json rest properties soapui transfer


【解决方案1】:

在 REST 请求中,我们得到一个 JSON 对象的响应:

当我们想用 Property Tranfer 传输这个响应时:我们可以将 Source 文本字段留空,我们将传输整个 JSON 对象,如果我们想传输这个对象的数据,在这种情况下是 name 我们设置了源文本字段 $.name,我们现在能够检索 JSON 对象的特定数据。

【讨论】:

    【解决方案2】:

    它对我有用,就像在这个答案的评论中一样:SoapUI - How to use Property Transfer with POST request

    你可以简单地使用:

    //*:id
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-08
      • 1970-01-01
      相关资源
      最近更新 更多