Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Groovy soapui-从WSDLRunTestCaseTStep获取测试结果_Groovy_Soapui - Fatal编程技术网

Groovy soapui-从WSDLRunTestCaseTStep获取测试结果

Groovy soapui-从WSDLRunTestCaseTStep获取测试结果,groovy,soapui,Groovy,Soapui,我正在为我的测试实现一个功能,它将记录失败测试步骤的请求和响应内容。目前,我看到的只是“断言失败”之类的东西,但我需要看到我发送的内容和返回的内容。我正在尝试阅读一些成功的结果,我已有的代码是: import com.eviware.soapui.model.testsuite.* import com.eviware.soapui.impl.wsdl.teststeps.* def suiteRunner = (TestSuiteRunner) runner.getRunContext().

我正在为我的测试实现一个功能,它将记录失败测试步骤的请求和响应内容。目前,我看到的只是“断言失败”之类的东西,但我需要看到我发送的内容和返回的内容。我正在尝试阅读一些成功的结果,我已有的代码是:

import com.eviware.soapui.model.testsuite.*
import com.eviware.soapui.impl.wsdl.teststeps.*

def suiteRunner = (TestSuiteRunner) runner.getRunContext().getTestRunner()
def listResults = suiteRunner.getResults()
for (TestCaseRunner run : listResults){
    def stepResults = run.getResults();
    for(TestStepResult step : stepResults){
        if(!step.getStatus().toString().equals("OK")){
            def local = step.getTestStep()
            def caseName = local.getTestCase().getName();
            def modalItem = local.getModelItem() 
            log.info modalItem
            if (modalItem instanceof JdbcRequestTestStep){
                log.error "TestCase " + caseName + " step " + local.getName() + " failed"
                log.error "JDBC step failed, query was: " + local.getQuery() 
                log.error "Response content:" + local.getResponseContent() 
            }
            if(modalItem instanceof WsdlTestRequestStep){
                log.error "TestCase " + caseName + " step " + local.getName() + " failed"
                log.error "Request: " + modalItem.getTestRequest().getResponse().getRequest().getRequestContent()
                log.error "Response: " + modalItem.getTestRequest().getResponse().getContentAsXml()         
            }       
            if(modalItem instanceof WsdlRunTestCaseTestStep){
                log.error "TestCase " + caseName + " step " + local.getName() + " failed"
                def target = local.getTargetTestCase()              
            }
        }
} }


问题在于最后一个IF(wsdlruntestcasetstep)。如何从运行上下文中获取运行结果的步骤?

您看到testrunner的-f开关了吗?(bat | sh)?它已经这样做了。-f开关只显示通过/失败和失败原因。如果失败,我希望能够记录请求和响应(如果出现故障)。对于我来说,它为每个失败的调用创建日志文件,其中包含请求和响应。结合-a或-a开关,我可以进行pass调用。注意到您正在尝试让JDBC(可能还有)其他步骤注销。这些措施目前尚未实施。我可以向你提供: