当前位置: 首页 > 知识库问答 >
问题:

Jmeter SOAP/ XML-RPC请求默认URL

仉峻
2023-03-14

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

在JMeter中,我选择了SOAP/ XML-RPC请求。它对我来说完全没问题,给了我正确的反应。然而,在我的测试范围内,我有超过100个web服务,我必须在不同的环境中测试它们。将SOAP/ XML-RPC示例中的URL值改为指向不同的env是非常麻烦的工作。对于SOAP/XML-RPC请求,我们有类似HTTP请求默认值的东西吗?

我还尝试了BeanShell采样器,其中我设置变量的值,然后在SOAP采样器URL参数中检索它。然而,它对我不起作用。下面是代码

BeanShell采样器代码:vars.put(“baseURL”http://localhost:9191/ws/soap");

SOAP/XML-RPS采样器URL值:${__BeanShell(vars.get("baseURL"))}

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

共有2个答案

宋子辰
2023-03-14

使用JMeter属性设置基本url,如下所示:

>

  • 在用户中。属性文件(在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()函数引用测试计划中定义的属性

    ${__P(baseURL,)}
    

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

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

    有关JMeter属性以及设置、覆盖和使用它们的方法的更多信息,请参阅ApacheJMeterProperties定制指南。

  • 邵奇
    2023-03-14

    您应该避免使用SOAP/XML-RPC来支持纯Http采样器。使用“模板…”(菜单)

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

    但请注意,根据您描述的内容,使用CSV数据集配置将允许您改变URL。

     类似资料:
    • CodeIgniter 的 XML-RPC  类允许你发送请求到另一个服务器, 或者建立一个你自己的XML-RPC服务器来接受请求. 什么是XML-RPC? 这是一个非常简单的两台计算机使用XML通过互联网进行通信的方法. 一台计算机 , 我们称之为 客户端, 发送一个XML-RPC 请求 给另外一台计算机 , 我们称之为 服务器. 当服务器收到请求并加以处理,然后将 结果 返回给客户端. 例如,

    • CodeIgniter 的 XML-RPC 类允许你向另一个服务器发送请求, 或者建立一个你自己的 XML-RPC 服务器来接受请求。 什么是 XML-RPC ? 使用 XML-RPC 类 初始化类 发送 XML-RPC 请求 解释 请求解析 创建一个 XML-RPC 服务器 处理服务器请求 注意 格式化响应 发送错误信息 创建你自己的客户端与服务端 客户端 服务端 尝试一下 在请求参数中使用关联

    • XML-RPC for Delphi 是一个 Delphi 的基于 XML-RPC 通讯的客户端和服务器端的开发包。

    • Groovy XML-RPC 提供了在 Groovy 编程语言中实现 XML-RPC 服务器端和客户端的简单方法。该项目同时也支持 Jabber-RPC。 示例代码 import groovy.net.xmlrpc.* import java.net.ServerSocket def server = new XMLRPCServer() server.echo = {return it} def

    • XML-RPC Client 是一个基于 Cocoa 的开发者工具,可以让你访问和调试 XML-RPC Web 服务。

    • 签名认证 请求签名认证 预签名认证 OAuth 认证 认证方式 使用场景 特点 预签名 移动端或终端设备 客户端只需要基本的网络库即可完成基本的上传和下载操作,无须集成SDK,无密钥泄漏风险;需要有自己的服务端下发预签名链接 请求签名 服务端或移动端 各语言SDK都支持,最简单的集成方式 OAuth 移动端 支持各三方OAuth