Jmeter SOAP / XML-RPC请求默认URL

时间:2016-01-11 16:38:31

标签: soap jmeter

我正在尝试为我的项目测试Web服务。 Web服务接受SOAP请求并提供适当的响应。

在JMeter中,我选择了SOAP / XML-RPC请求。它对我来说完全没问题,给了我正确的答案。但是,在我的测试范围内,我有超过100个Web服务,我必须在不同的环境中测试它们。从SOAP / XML-RPC示例更改URL值以将其指向不同的env是非常麻烦的工作。我们是否有像SOAP / XML-RPC请求的HTTP请求默认值?

我还尝试了一个bean shell sampler,我在其中设置变量的值,然后在SOAP sampler URL参数中检索它。但它对我不起作用。以下是代码。

Bean Shell采样器代码: vars.put("&基本URL#34;" http://localhost:9191/ws/soap&#34);

SOAP / XML-RPS采样器URL值: $ {__的BeanShell(vars.get("&基本URL#34;))}

有什么建议吗?我在JMeter文档中读到这可以通过http sampler完成,但是,如果可能的话,我想避免使用它。

2 个答案:

答案 0 :(得分:2)

您应该避免使用SOAP / XML-RPC来支持纯Http Sampler。 使用"模板......" (菜单)>构建SOAP Web服务测试计划:

enter image description here

enter image description here

这样,您可以根据需要使用HTTP请求默认值。

但请注意,根据您的描述,使用CSV数据集配置可以让您对网址进行变换。

答案 1 :(得分:1)

使用JMeter属性设置基本URL,如:

    user.properties 文件中的
  • (在JMeter安装的/ bin文件夹下)为每个属性添加一行:

    baseURL=http://localhost:9191/ws/soap
    
  • 或者您可以通过-J命令行键传递属性:

    jmeter -JbaseURL=http://localhost:9191/ws/soap -n -t /path/to/your/testplan.jmx -l /path/to/results.jtl
    

使用__P() function

参考测试计划中的已定义属性
${__P(baseURL,)}

您甚至可以提供默认值,即如果未通过user.properties文件或命令行参数设置该属性 - 将使用默认值:

${__P(baseURL,http://localhost:9191/ws/soap)}

有关JMeter属性以及设置,覆盖和使用它们的方法的更多信息,请参阅Apache JMeter Properties Customization Guide