JMETER:使用Web服务请求发送文件

时间:2014-05-22 10:57:56

标签: web-services jmeter sendfile

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

我该怎么做?或者是否可以使用HTTP请求?

提前致谢...

1 个答案:

答案 0 :(得分:0)

JMeter提供了至少2个关于如何将文件传递给采样器,函数或其他任何选项的选项。

选项1: __FileToString()功能。只需将其放入您的SOAP / XML-RPC数据" textarea如下:

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

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

添加Beanshell Pre Processor作为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文件的内容,并将结果存储在" file" JMeter变量。

只需将${file}${__V(file)}放入" SOAP / XML-RPC数据"文字区域。就是这样。

有关通过脚本编写JMeter扩展的更多详细信息,请参阅How to use BeanShell指南。

您可以使用View Results Tree侦听器获取有关请求/响应的完整信息。