首页 文章

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

提问于
浏览
-1

我正在使用JMeter 2.13 . 我在Post请求中发送xml作为附件

参数authenticity_token: - hjghjsdfhjghsjkdg,utf8: - ✓HTTPHeader Manager: - Accept:text / xml,Content Type: - text / xml Port 80,Method Post,Protocol http

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

System.getProperty(“user.dir”)File.separator“NewXMLEvent.xml”

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

我得到的回应是 XML content expected

2 回答

  • 1

    你的方法不起作用 .

    如果需要 upload 文件 - 有效值为:

    • 文件的完整路径(推荐)

    • 文件的相对路径

    • 在JMeter启动期间或通过user.properties文件设置的JMeter属性


    如果你需要 send XML file content

    • 切换到"Body Data"标签

    • 使用__FileToString()函数指定源XML文件位置

    FiletoString function example

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

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

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

    有关上述和其他有用的JMeter函数的更多信息,请参阅How to Use JMeter Functions posts系列 .

  • 0

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

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

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

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

相关问题