1

我正在构建 Web 服务测试框架。我正在使用soap ui(不是专业版)进行集成测试。我有一个运行我的测试运行器的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中实现它?提前致谢。

4

1 回答 1

1

在 SOAPUI 中,当您定义您的 api 时,请尝试执行以下操作:

假设您有资源 API GET (https://your_host/Username)

您可以通过将上述资源更改为在测试用例级别更改 Usename 值

(https://your_host/${#TestCase#Username})

完成后,为上述资源创建一个测试用例,然后(双击测试用例)或右键单击然后显示测试编辑器。

在窗口中出现一个名为(Setup Script)的按钮,单击该按钮,然后将以下内容复制到框中:

def username = "John"
testRunner.testCase.setPropertyValue('Username',"${username}")

然后单击框上方的绿色小游戏标志,然后切换到(设置脚本)旁边的(属性),您应该能够在名称下看到用户名,在值下看到 John。

这是针对以 John 作为用户名的值的测试用例完成的。

您现在需要做的就是复制测试用例(右键单击然后克隆 TestCase)然后将用户名的值更改为其他值,例如

def username = "Chris"
testRunner.testCase.setPropertyValue('Username',"${username}")

希望上面有帮助,这就是你想要的。

于 2012-12-13T14:51:51.257 回答