Groovy 在soapUI中测试RESTWeb服务

Groovy 在soapUI中测试RESTWeb服务,groovy,soapui,Groovy,Soapui,我正在尝试编写一个groovy脚本,从第一个测试步骤的响应中获得结果,并将其用于下一个测试步骤。 My web service在发布后返回以下响应: <Response xmlns="http://xxxxxx.xxx.xxxxx.xxx/cal-service/v1/users/"> <individual_id>83ecf411-0e3b-4e6b-9bc4-d4b5f6efed54</individual_id> </Response>

我正在尝试编写一个groovy脚本,从第一个测试步骤的响应中获得结果,并将其用于下一个测试步骤。 My web service在发布后返回以下响应:

<Response xmlns="http://xxxxxx.xxx.xxxxx.xxx/cal-service/v1/users/">
   <individual_id>83ecf411-0e3b-4e6b-9bc4-d4b5f6efed54</individual_id>
</Response>

当我运行测试套件并且它到达groovy脚本时,我遇到了以下错误:

我在您的帖子中没有看到您的错误,但是要从请求中获取一些信息,下面是您的操作方法。groovy脚本将从您的请求返回id

def id = context.expand( '${REST Test Request#ResponseAsXml#declare namespace ns1=\'http://lshlx082a.sys.cigna.com/cal-service/v1/users/'; //ns1:individual_id[1]}' )

return id;
用REST测试步骤的名称替换“REST测试请求”部分


注意:我用自己的名称空间尝试了这个方法,所以我可能错误地剪切和粘贴了您的名称空间和声明。但这是一般的方法。

您可以使用属性转移步骤在响应之间转移值。

您可能忘记了错误……谢谢您的回答。我只是试了一下,但没有成功。我有一些REST测试步骤,我正在尝试编写测试脚本,以使过程自动化。从测试步骤中获取ID并将其传递到下一个步骤的一般过程是什么。我需要使用财产转移吗?另外,rest服务的响应是JSON,如何使用Groovy解析响应以验证得到的结果是否正确。我的另一个问题是什么时候使用脚本断言并在其中编写groovy,而不是使用groovy脚本??希望我讲得通。非常感谢您的帮助。通常,如果我将数据从一个步骤移动到另一个步骤,我不会使用属性转移。在这些情况下,只需从上一步到下一步获取数据就更简单了。至于断言,为了可读性,我将它们放在最后一个单独的步骤中。这将是Groovy步骤或断言步骤(4.5版本)。有关可读soap UI测试的更多信息,请参阅我的博客文章:。就JSON而言,这可能是一个开始。另外,您能将您的服务的响应发布或邮寄给我吗?那我绝对可以帮你。
def id = context.expand( '${REST Test Request#ResponseAsXml#declare namespace ns1=\'http://lshlx082a.sys.cigna.com/cal-service/v1/users/'; //ns1:individual_id[1]}' )

return id;