gpt4 book ai didi

variables - 以编程方式更新文件路径以在 Apache JMeter 中使用 HTTP 请求发送文件

转载 作者:行者123 更新时间:2023-12-04 23:06:34 25 4
gpt4 key购买 nike

我正在使用 Apache JMeter 2.7 来加载测试 Liferay。我正在创建的一个这样的测试涉及动态生成文件并将它们上传到 Liferay 的文档和媒体 portlet。我遇到的问题与 Liferay 无关……我知道这一点,因为如果我在 HTTP 请求中的“随请求发送文件”的“文件路径”框中键入确切路径,我可以上传文档.这不是我需要运行测试的方式。

我希望测试以这样一种方式运行,即我在测试的每个循环中生成一个唯一的文件,文件名具有不同的 UUID(我在 BeanShell PreProcessor 中执行此操作,并且按我的意愿执行)。我有一个用户定义的变量 FILENAME,用于存储文件名。在 HTTP 请求中,对于文件路径,我使用路径 C:\Installs\Apache Jmeter\apache-jmeter-2.7\bin\${FILENAME}但 JMeter 不处理该变量。

当我查看结果树时,我看到错误:

java.io.FileNotFoundException: C:\Installs\Apache Jmeter\apache-jmeter-2.7\bin\${FILENAME} (The system cannot find the file specified)



然而,如果我硬编码文件路径(例如 ...\bin\doc.txt)并使用 ${FILENAME} 作为文档标题的值(我在 HTTP 请求中发送的参数),文档(doc.txt) 以 FILENAME 的字符串值作为标题上传到 portlet。这让我知道正确的字符串存储在变量 FILENAME 中。由此,我推断 JMeter 根本不会替换文件路径中的变量以在 HTTP 请求中发送文件。如果我的结论不正确,请让我知道如何解决我遇到的任何错误。有没有其他人有这个问题?

我目前正在尝试通过向此 http 请求添加 BeanShell PreProcessor 来创建解决方法,该请求将使用变量名称动态更新文件路径。我需要设置一些 variable = vars.get("FILENAME") .任何人都知道如何从这里开始以编程方式设置 HTTP 文件路径?我正在查看 API为了答案。任何帮助将不胜感激,因为我现在完全被难住了。

最佳答案

失败是因为您使用了 \${FILENAME} .
这会转义 $,因此不会解释变量。

解决方案:

  • C:\\Installs\\Apache Jmeter\\apache-jmeter-2.7\\bin\\${FILENAME}(我无法在 Mac OS 上进行测试);
  • C:/Installs/Apache Jmeter/apache-jmeter-2.7/bin/${FILENAME}(这肯定适用于 Windows)。
  • 关于variables - 以编程方式更新文件路径以在 Apache JMeter 中使用 HTTP 请求发送文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10921142/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com