如何通过SOAPUI获取JUNIT的响应

时间:2016-03-10 13:16:13

标签: java eclipse testing junit soapui

我正在从 Eclipse 运行我的 SOAPUI 项目。执行项目时,我需要在Eclipse中显示特定 testStep 的响应。

我该怎么做?

enter image description here

1 个答案:

答案 0 :(得分:2)

您可以使用TestRunner实例获取上下文,然后使用expand方法获取您的媒体资源。在你的情况下:

...
WsdlProject project = new WsdlProject( "/path/to/Soapui/project.xml" );
TestSuite testSuite = project.getTestSuiteByName( "testSuiteName" );
TestCase testCase = testSuite.getTestCaseByName( "testCaseName" );
TestRunner runner = test.run(new PropertiesMap(), false );
assertEquals( Status.FINISHED, runner.getStatus() );
// get context and expand the properties
runner.getRunContext().expand("${Test Request#Response}")

....

有关详情,请查看API:TestRunner.getRunContext()TestRunContext.expand(java.lang.String)

请注意,要使用expand,传递的String的第一部分是 testStep 名称,第二部分是属性:${testStepName#Property}

在您获取响应的情况下,您可以使用${Test Request#Response}

如果您在评论而不是整个响应时想要获取节点值,则可以使用expand使用以下符号应用 XPath

${testStepName#Response#XPath}

因此,为了获得<STATUS_MSG>的价值,您可以使用:

${Test Request#Response#//*:STATUS_MSG}

希望它有所帮助,