【问题标题】:How to send xml file with post request in JMeter如何在 JMeter 中发送带有 post 请求的 xml 文件
【发布时间】:2015-09-04 05:22:13
【问题描述】:

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

参数 authenticity_token :- hjghjsdfhjghsjkdg, utf8 :- ✓

HTTP Header Manager :- Accept : text/xml, Content Type:- text/xml

端口 80 , 方法 Post, 协议 http

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

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

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

我收到的回复是XML content expected

【问题讨论】:

  • 您是否尝试将该文件内容作为变量读取并将该变量添加到请求的正文中?据我所知,它对我有用。
  • 文件有大约 1000 行代码。它不起作用!

标签: xml http-post jmeter


【解决方案1】:

你的方法行不通。

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

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

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

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

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

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

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

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

【讨论】:

    【解决方案2】:

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

    我的 XML 文件大约有 5000 行,因此如果我可以将 do 1. 指向文件的完整路径上方会很方便。然而,这并没有奏效。除了名为 content 的参数之外,我还有其他三个参数,并且必须提供值。

    在 JMeter 3.0 中,方法为 POST,在我提供的参数下: 参数 1 值 1 参数 2 值 2 参数 3 值 3 对于内容,我使用编辑器打开 XML 文件,然后选择全部,然后复制。 在 JMeter for Value->Detail - 这会打开一个便笺簿。在其中粘贴 XML 内容。 只是为了内容,我检查了编码和等于。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-18
      • 1970-01-01
      • 2020-08-18
      • 1970-01-01
      • 2019-11-25
      • 2022-08-14
      • 1970-01-01
      相关资源
      最近更新 更多