如何捕获具有状态的soapui断言列表

时间:2015-07-01 16:25:53

标签: groovy soapui assertions

如果您运行testStep并查看断言。 SoapUI返回断言Green / Red以及添加“ - VALID”或“ - FAILED”

问题:有没有办法让捕获者获得完整的字符串? 名称+状态

即。 SOAP响应 - 有效 XPath匹配 - 有效 包含 - 有效 不包含 - 失败

目前我正在提取断言列表 - 但我希望额外的状态块与它一起使用。

谢谢你, 罗布

1 个答案:

答案 0 :(得分:1)

要打印testSteps内所有testCase内的所有断言,您可以使用tearDown script testCase中的跟随groovy脚本,使用{{3}返回getAssertionList()列表,然后使用TestAssertionlabel属性对其进行迭代:

testRunner.testCase.testSteps.each{ name,props ->
    log.info "Test step name: $name"
    // check that the testStep class support assertions 
    // (for example groovy testStep doesn't)
    if(props.metaClass.respondsTo(props, "getAssertionList")){
        // get assertionList
        props.getAssertionList().each{
           log.info "$it.label - $it.status"
        }
    }
}

注意:并非所有类型的testStep都有断言(例如Groovy脚本testStep没有)所以在使用之前需要检查它getAssertionList()

enter image description here

如果你想从一个特定的testStep获得所有断言,你可以在一个groovy脚本中使用相同的方法:

// get the testStep
def testStep = testRunner.testCase.getTestStepByName('Test Request')

// check that the testStep specific class support assertions 
// (for example groovy testStep doesn't)
if(testStep.metaClass.respondsTo(testStep, "getAssertionList")){
    // print assertion names an its status
    testStep.getAssertionList().each{
       log.info "$it.label - $it.status"    
    }
}

希望它有所帮助,