JMeter - 将.xml文件作为SOAP / XML请求发送

时间:2014-04-04 15:28:53

标签: xml soap jmeter

我对JMeter很新,这是我的任务:

我有一些.xml文件,我打算在单个测试中用作对WebService的连续SOAP / XML请求。

  1. 我可以在不添加n个采样器的情况下执行此操作,其中n是文件数吗? (我无法通过CSV设置此功能)
  2. 有没有办法只传递包含这些文件的目录名?
  3. 提前致谢

1 个答案:

答案 0 :(得分:2)

我猜您可以使用Module Controller来避免采样器重复。

关于读取xml文件名,您可以使用Beanshell Sampler将文件加载到变量中,并使用ForEach Controller来迭代它们。示例将目录中的文件名存储到变量中的Beanshell代码如下所示:

import java.io.File;

File xmldir = new File("/path/to/your/directory");
{
    int counter = 1;
    for (File xmlfile : xmldir.listFiles())
    {
        if (xmlfile.getName().endsWith(".xml"))
        {
            vars.put("xmlfile_" + counter, xmlfile.getCanonicalPath());
            counter++;
        }
    }
}

它会产生如下变量:

xmlfile_1 = test1.xml
xmlfile_2 = test2.xml
xmlfile_N = testN.xml
etc.

您可以通过以下配置的ForEach Controller进行迭代:

  • 输入变量前缀:xmlfile
  • 输出变量名称:任何有意义的内容,即currentfile

因此,您应该能够在SOAP请求中将XML文件引用为${currentfile}${__V(currentfile)}