我正在使用SoapUI API作为现有java项目的一部分。 应用程序应将请求和响应XML保存在特定的报告文件中。 我想知道是否可以通过API获取这些请求和响应。 调用TestCaseRunner的方法如下所示
protected void checkTestCase(TestCase testCase) {
TestCaseRunner tr = testCase.run(null, false);
for (TestStepResult tcr : tr.getResults()) {
String status = tcr.getStatus();
String time = tcr.getTimeTaken() + "ms";
/* How to get XML messages?
* String request =
* String response =
*/
}
}
答案 0 :(得分:2)
具体取决于您具有哪种测试步骤,它们可能是MessageExchange的一个实例。将TestStepResult强制转换为MessageExchange并调用getRequestContent / getResponseContent可能会有所帮助。
String request = ((MessageExchange)tcr).getRequestContent();
String response = ((MessageExchange)tcr).getResponseContent();
答案 1 :(得分:0)
我使用以下方法从API CAll执行响应:
runner = testRunner.runTestStepByName("Your Test Case name");
// Here we take the response in ms of the API call
timeTaken = runner.response.timeTaken;
// here we get the HTTP response code.
responseCode = runner.getResponseHeaders()."#status#";
// here we get the response content
String response = runner.getResponseContent();
// here we get the API call endpoint -> in case you need to print it out.
String endPoint = runner.getEndpoint();
答案 2 :(得分:0)
使用getRunContext()
testCaseRunner.getRunContext().expand("${testStep#Request}")
testCaseRunner.getRunContext().expand("${testStep#Response}")