【发布时间】:2022-01-20 05:17:31
【问题描述】:
为了创建可以发送不同类型 SOAP 信封的 JMeter HTTP 请求,我创建了一个基于文件的变量,其中包含 SOAP 信封,然后在 Body 元素中引用该变量以提供所需的 SOAP 请求正文。 ${SOAP_Envelope_Body} 注意:这是我唯一使用的采样器类型 - 出于简单性和兼容性的原因。
通过还在 .properties 文件中为授权管理器元素的 SOAP 操作等使用自定义属性,一切都运行良好,我可以轻松地测试基于主体信封数据文件提供的硬编码 SOAP 信封主体的任何 Web 服务。
我的问题是我现在需要能够在硬编码的 SOAP 主体变量中添加变量,以允许它从另一个变量数据文件中获取额外的数据,这样我就可以重新使用相同的 Web 服务主体,但是每次迭代都有不同的数据。
在 LoadRunner 中,我可以将参数(JMeter 中的变量)嵌套在一个参数中并且它们会解析,在 JMeter 中这似乎不起作用,那么我该如何实现以下目标:
我的输入文件中的示例 ${SOAP_Envelope_Body} 变量 SOAP 正文可能包含以下元素,其中包含需要在运行时在我的请求中评估的 植入变量,但目前尚未在 JMeter 发送的实际 HTTP 请求中得到解决。
带有植入变量的示例 SOAP 主体元素变量:
已评估和发送的带有植入变量的预期请求正文:
发送的实际正文请求:
如何在运行时解析变量,我查看了自定义预处理器,但没有太多编码知识或示例,但没有成功。任何建议,如果可能的话,附上例子将不胜感激。 JMeter 必须能够处理变量内部的变量,如果它是定价过高的对应物,LoadRunner 可以!!
【问题讨论】:
标签: variables soap jmeter request