2016-04-21 43 views
0

我使用SOAP UI临测试自动化和我新为。我正在使用Rest API自动化工具。 我发送了一个POST服务请求并获得了一些响应,例如:唯一标识,名字,姓氏。如何使用groovy比较SOAP UI中两个不同请求的响应值?

现在我送的输入参数的名字,姓氏另一个GET请求,我以前的POST请求的响应(用财产转移步骤),并响应我得到了另一种独特的ID(GET的响应)。

我的要求是这两个唯一的ID这两个不同的反应使用Groovy比较和Mark测试合格或不合格基础上的结果。请帮忙。

+0

您是否使用soap/rest(xml或json)api? – Rao

+0

我使用的休息(JSON)API –

+0

为什么你需要使用Groovy?这种断言在SoapUI中本地处理。 – SiKing

回答

2

您可以访问你想要比较和执行的属性和assert检查您所需的条件常规脚本

你在你的问题,你用属性传送步骤但是你没有告诉你在哪里保存你的结果,由于我想例如,你存储值的TestCase评论性质:

// 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脚本一步步测试方面你已经一个testRunner对象,你可以用它来访问testCasetestSuite ...然后获得所需的性能。

另一种可能的方法是做同样的,而是直接从您的一步步测试response获得的性能和执行的XPath,这样做可以使用遵循Groovy脚本

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" 

testRunnercontext对象是已经在常规步步测试的情况下。 context.expand中使用的符号是${Test Step Name#response#XPath}

希望它有帮助,

+0

谢谢albciff,令人敬畏的兄弟! 你救了我。是的,我在测试案例属性文件中保存了以前的值。再次 感谢。我不知道为什么我的问题给出'-1'。 –

+0

@Python_Novice很高兴帮助你。我不做倒票,但可能是由于缺少的细节(我只是猜测),尝试用它更新你的答案,也许那么downvoter又来了撤销行动......如果不是至少在futur也许其他用户发现你的问题有帮助,并upvote它':)' – albciff