我正在构建Web服务测试框架。我正在使用soap ui(而非pro)进行集成测试。我有一个运行我的测试运行器的ant脚本。这就是我的测试运行器的样子:
public class GatewayIntegrationTestRunner {
JUnitReportCollector collector = new JUnitReportCollector();
String path = "D:/DATA/Gateway/GWIntegrationTest_soapUI/GWIntegrationTestWksp/gateway-integration-test/src/META-INF/junit-style-test-report/html";
@Test
public void runGatewayIntegrationTests() throws Exception {
SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
runner.setProjectFile("D:/DATA/Gateway/GWIntegrationTest_soapUI/GWIntTestStdProject/Liberate-Gateway-std-project-soapui-project.xml");
runner.getTestCase();
runner.setOutputFolder(path);
runner.setJUnitReport(true);
runner.run();
runner.exportJUnitReports(collector, path, new WsdlProject());
runner.printReport(0);
}
}
我的测试运行器加载我的soap ui项目xml并运行soap ui项目中的空间测试。我的要求是我想在不同的点为同一个api指定不同的请求参数。早些时候,当我在Java中进行集成测试时,我在xml文件中指定了这些请求参数。我怎样才能在soapui中实现这一目标?我尝试过使用soapui中的属性和属性转移,但没有取得多大成就。根据部署应用程序的位置,我想修改请求数据,抓取它可能来自xml文件或属性文件。我怎样才能在soapui中实现它?提前致谢。
答案 0 :(得分:1)
在SOAPUI中定义api时,尝试执行以下操作:
假设您有资源API GET(https:// your_host / Username)
您可以通过将上述资源更改为
来更改测试用例级别的Usename值(HTTPS:// your_host / $ {#测试用例#用户名})
完成后,为上述资源创建一个测试用例(双击测试用例)或右键单击然后显示测试编辑器。
在窗口出现时,会出现一个名为(设置脚本)的按钮,然后将其复制到框中:
def username =“John”
testRunner.testCase.setPropertyValue( '用户名', “$ {用户名}”)
然后单击框上方的绿色小标记,然后切换到(设置脚本)旁边的(属性),您应该可以在名称下看到用户名,在值下看到John。
为该测试用例完成,其值为John作为用户名。
现在你需要做的就是复制测试用例(右键单击然后克隆TestCase)然后将username的值更改为其他内容,例如
def username =“Chris”
testRunner.testCase.setPropertyValue( '用户名', “$ {用户名}”)
希望以上有所帮助,这就是你想要的。