SOAPUI Groovy-如何使用testStepResult对象访问添加到MessageExchange的属性?

时间:2018-08-09 15:52:11

标签: groovy soapui

是否可以在“断言脚本”中向messageExchange对象添加属性,并稍后在“ TestSuite TearDown脚本”中检索该属性的值?

基本上,我想在“ TestSuite TearDown Script”窗口中获取REST API检索到的记录数。我想这样做,而无需处理“ TestSuite TearDown脚本”中所有步骤的响应。

这就是我在“断言脚本”中添加属性的方式

import groovy.json.JsonSlurper;
def resp = messageExchange.response.responseContent;
def jslurp = new JsonSlurper().parseText(resp);
messageExchange.addProperty("recordCount",Integer.toString(jslurp.size()));

对于要作为我的TestSuite一部分执行的所有40多种REST API结果,我想在“ TestSuite TearDown脚本”中检索“ recordCount”。

以某种方式,如果我能够从testStepResult获得对每个步骤的messageExchange对象的引用,那么我应该能够实现我想做的事情。

任何指针或您的想法都会受到赞赏。

谢谢

1 个答案:

答案 0 :(得分:1)

我从来没有必要从soapUI的一部分中设置的对象检索属性,而在另一部分中使用它。我感觉soapUI不会以这种方式共享。

那么,如何在测试套件级别设置自定义属性呢?在声明脚本中,您可以使用messageExchange设置如下属性:

def recordCounter = messageExchange.modelItem.testStep.testCase.testSuite.
    setPropertyValue('recordCounter', 'your number'); 

然后,在您的拆卸脚本中,您可以使用以下命令进行检索:

def recordCounter = context.expand('${#TestSuite#recordCounter}')