如何使用 SOAPUI 获取 JUNIT 的响应

How to get the response by JUNIT with SOAPUI

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

我该怎么做?

您可以使用 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() and TestRunContext.expand(java.lang.String)

请注意,要使用 expandString 的第一部分是 testStep name第二部分是你想要得到的属性${testStepName#Property}.

在您的情况下,要获得 Response,您可以使用 ${Test Request#Response}.

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

${testStepName#Response#XPath}

因此,对于您的情况,要获得 <STATUS_MSG> 的值,您可以使用:

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

希望对您有所帮助,