gpt4 book ai didi

docker - 使用 docker 运行 jmeter

转载 作者:行者123 更新时间:2023-12-04 17:14:11 25 4
gpt4 key购买 nike

我在使用 docker 容器运行 jmeter 时遇到问题。当我在本地计算机上通过 GUI 或 CLI 运行该脚本时,该脚本运行良好。但是当我使用容器执行相同的脚本时它失败了。
下面是问题。
所以我使用 beanshell 后处理器来捕获响应 cookie。下面是相同的代码。
props.put("MyCookie1","${COOKIE_one}");props.put("MyCookie2","${COOKIE_two}");props.put("MyCookie3","${COOKIE_three}");
这个参数化值在我的本地机器(Windows 10)中运行良好。但是当我在容器中运行相同的内容时,这些参数化值不会得到解析。
我在容器中使用“alpine:3.12”基础镜像。

注意:我本地机器上的 Jmeter 版本是“5.4.1”,java 版本是“java 11”。在 docker 容器中,Jmeter 版本是“5.3”,java 版本是“java 8”。我点击的 API 托管在 AWS Lambda 中。

最佳答案

您忘记了最重要的细节:您的 Dockerfile

盲目拍摄:为了能够以 COOKIE_one 等方式访问 cookie - 您需要添加一个 extra propertyCookieManager.save.cookies=true 添加到 user.properties 文件或通过 -J 命令行将其传递给 JMeter 启动脚本参数如:

./jmeter -JCookieManager.save.cookies=true -n -t test.jmx -l result.jtl

同样根据 JMeter 最佳实践:

  1. Since JMeter 3.1 you should be using JSR223 Test Elements and Groovy language for scripting
  2. You should always be using the latest version of JMeter

因此也许值得考虑迁移到 Groovy,您只需修改以下代码:

props.put("MyCookie1","${COOKIE_one}")

props.put("MyCookie1",vars.get("COOKIE_one"))

其中 vars 代表 JMeterVariables类实例,参见 Top 8 JMeter Java Classes You Should Be Using with Groovy如果需要,可以获取更多信息。

并更新您的 Dockerfile 以使用 latest stable version of JMeter

关于docker - 使用 docker 运行 jmeter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68995053/

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