在SoapUI中使用groovy脚本记录测试步骤响应

在SoapUI中使用groovy脚本记录测试步骤响应,soap,groovy,soapui,Soap,Groovy,Soapui,我目前有一个包含76个Soap测试步骤的测试套件,其中所有步骤都已运行。然而,在日志中,我得到了预期的测试步骤名称,但没有得到响应 groovy脚本和测试步骤都在相同的测试套件中,但测试用例不同。其结构如下: 测试套件 测试用例响应 测试步骤 测试用例日志 Groovy脚本 Groovy脚本: def testCases = context.testCase.testSuite.getTestCaseList() testCases.each { for(testSte

我目前有一个包含76个Soap测试步骤的测试套件,其中所有步骤都已运行。然而,在日志中,我得到了预期的测试步骤名称,但没有得到响应

groovy脚本和测试步骤都在相同的测试套件中,但测试用例不同。其结构如下:

  • 测试套件

    • 测试用例响应
      • 测试步骤
    • 测试用例日志
      • Groovy脚本
Groovy脚本:

def testCases = context.testCase.testSuite.getTestCaseList()
testCases.each
{

    for(testSteps in it.testStepList)
    {
        log.info "~~~Test Step:" + testSteps.name
        def requestname = testSteps.name
        log.info context.expand('${'+requestname+'#Response}')
    }
}
日志:


为什么我得不到每个测试步骤响应中的数据?

下面是
Groovy脚本,它完成了您需要的功能:
关键是使用
step.getPropertyValue('Response')


你已经办案了吗?groovy脚本位于何处,在相同的测试用例/测试套件中,或者如果在不同的测试用例但在相同的测试套件中,则位于
拆卸脚本中。所有的测试步骤都已经运行,并且有重复,所以您只想记录响应?没有别的了?是的,它有测试步骤的标题(我有),然后测试步骤的响应中的所有文本有什么类型的测试步骤?soap、rest、http或jdbc?
Tue Mar 21 11:50:04 GMT 2017:INFO:~~~Test Step:TestStep_0001
Tue Mar 21 11:50:04 GMT 2017:INFO:
Tue Mar 21 11:50:04 GMT 2017:INFO:~~~Test Step:TestStep_0002
Tue Mar 21 11:50:04 GMT 2017:INFO:
Tue Mar 21 11:50:04 GMT 2017:INFO:~~~Test Step:TestStep_0003
Tue Mar 21 11:50:04 GMT 2017:INFO:
import com.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequestStep
//Repeat thru test cases
context.testCase.testSuite.testCaseList.each { tc ->
    tc.testStepList.each { step ->
        log.info "~~~Test Step:" + step.name 
        if (step instanceof WsdlTestRequestStep) {
            log.info step.getPropertyValue('Response')  
        } else {
            log.info 'Ignoring step as it is not SOAP request type step'
        }
    }
}