0

我需要发送带有网络服务请求的文件。但我不知道如何在 WebService(SOAP) 请求中指定文件。

我怎样才能做到这一点?或者是否可以使用 HTTP 请求?

提前致谢...

4

1 回答 1

0

JMeter 提供了至少 2 个选项来说明如何将文件传递给采样器、函数或其他任何东西。

选项 1: __FileToString()函数。只需将其放入您的“SOAP/XML-RPC 数据”文本区域,如下所示:

${__FileToString(/path/to/your/file.xml,,)}

选项 2:另一个更灵活的选项是通过脚本扩展读取文件(即,如果 XML 文件编码与您当前的系统编码不同并损坏)。

添加一个Beanshell 预处理器作为 SOAP/XML-RPC 请求的子级,代码如下:

import org.apache.commons.io.FileUtils;
import org.apache.commons.codec.binary.Base64;

String file = FileUtils.readFileToString(new File("/path/to/your/file.xml"),"UTF-8");
vars.put("file",new String(Base64.encodeBase64(file.getBytes("UTF-8"))));

它将使用 UTF-8 字符集读取 /path/to/your/file.xml 文件的内容,并将结果存储在“文件”JMeter 变量中。

只需将${file}${__V(file)}放入“SOAP/XML-RPC 数据”文本区域即可。就是这样。

有关通过脚本编写 JMeter 扩展的更多详细信息,请参阅如何使用 BeanShell指南。

您可以使用查看结果树侦听器来获取有关请求/响应的完整信息。

于 2014-05-22T11:15:12.410 回答