如何在JMeter中发送带有post请求的xml文件

时间:2015-09-04 05:22:13

标签: xml http-post jmeter

我正在使用JMeter 2.13。我在发布请求

中发送xml作为附件
  

参数 authenticity_token : - hjghjsdfhjghsjkdg, utf8 : - ✓

     

HTTP标头管理器: - 接受:text / xml,C ontent Type : - text / xml

     

端口 80,方法发布,协议 http

我正在附件中添加文件地址

  

System.getProperty(" user.dir")+ File.separator +" NewXMLEvent.xml"

我想将xml作为文件发送而不是参数或正文,这个xml文件是用代码创建的,它不起作用, 我是否需要添加任何其他标题信息或数据

我得到的回复是XML content expected

2 个答案:

答案 0 :(得分:1)

你的方法不起作用。

如果您需要上传文件,则有效值为:

  1. 文件的完整路径(推荐)
  2. 文件的相对路径
  3. 在JMeter启动期间或通过user.properties文件
  4. 设置的JMeter属性

    如果您需要发送XML文件内容

    1. 切换到“正文数据”标签
    2. 使用__FileToString()函数指定源XML文件位置

      FiletoString function example

    3. 您甚至可以将__FileToString()函数与__Beanshell()函数结合使用,以动态获取文件路径,如:

      ${__FileToString(${__BeanShell(System.getProperty("user.dir") + File.separator + "NewXMLEvent.xml",)},,)}
      

      我知道,语法很可怕,这就是我使用Function Helper Dialog生成函数的原因。

      有关上述和其他有用的JMeter功能的更多信息,请参阅How to Use JMeter Functions帖子系列。

答案 1 :(得分:0)

我尝试了在答案1中发布的上述三个步骤,但实际上没有一个工作。我正在测试REST API。

我的XML文件大约有5000行,所以如果我可以在文件的完整路径上方指向1,那将会很方便。但是,这不起作用。我还有三个其他参数,除了一个名为content的参数,并且必须提供值。

在JMeter 3.0中,使用Method作为POST,在我提供的参数下: param1 value1 param2 value2 param3 value3 对于内容,我使用编辑器打开XML文件,然后选择全部,然后复制。 在JMeter for Value->细节 - 这打开了一个便笺簿。粘贴XML内容。 仅仅为了内容,我检查了编码和等于。

这样我就可以发送我的XML文件了。希望这也适用于其他人