首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用groovy比较SOAP中两个不同请求的响应值?

如何使用groovy比较SOAP中两个不同请求的响应值?
EN

Stack Overflow用户
提问于 2016-04-21 07:38:30
回答 1查看 6.5K关注 0票数 1

我正在使用SOAP进行测试自动化,而且我是这方面的新手。我正在使用这个工具实现Rest自动化。我发送了一个POST服务请求,并得到了一些响应,例如:唯一的id、名字、姓氏。

现在我发送另一个GET请求,输入参数作为名字,姓氏来自我以前的POST请求响应(使用属性转移步骤),在响应中我得到了另一个唯一的id (GET的响应)。

我的要求是根据结果使用groovy和标记测试通过或失败来比较这两个不同响应的两个唯一ids。请帮帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-21 07:58:57

您可以访问要比较和执行的属性,并在groovy脚本中检查所需条件。

您在问题中评论说,您使用的是属性转移步骤,但是您没有说明将结果存储在何处,因为我想您是在将值存储在TestCase属性中:

代码语言:javascript
复制
// you've to use the name of the property you set in the property transfer step
def fn = testRunner.testCase.getPropertyValue('firstName_firstResponse')
def fn2 = testRunner.testCase.getPropertyValue('firstName_secondResponse')
assert fn == fn2, "THE FIRST NAME AREN'T EQUALS"

在groovy脚本testStep上下文中,您有一个testRunner对象,可以用来访问testCasetestSuite.然后得到所需的属性。

另一种可能的方法是做同样的事情,但直接从testStep的testStep中获取属性并执行XPath,这样就可以使用下面的groovy脚本

代码语言:javascript
复制
def fn = context.expand('${TestStepName_1#response#*://firstName}')
def fn2 = context.expand('${TestStepName_2#response#*://firstName}')
assert fn == fn2, "THE FIRST NAME AREN'T EQUALS"

testRunner类似,context对象已经位于groovy testStep的上下文中。context.expand中使用的表示法是${Test Step Name#response#XPath}

希望能帮上忙

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36762891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档