尝试使用Docker容器为JMeter(非GUI模式)运行JMeter测试会引发错误“无法打开xxxx.jmx文件”

问题描述 投票:1回答:2

我正在尝试使用docker容器分发加载测试。

在JMeter的本地,我的测试在GUI或非GUI模式下正确运行,但是当我尝试使用JMeter的docker镜像在非GUI模式下运行它们时:

docker run egaillardon/jmeter -n -t ~/Developer/testing/login_test.jmx -l ~/Desktop/resultado.jtl

我收到错误:

无法打开〜/ Developer / testing / login_test.jmx

我尝试使用JMeter (egaillardon/jmeter, justb4/jmeter, vmarrazzo/jmeter)的不同docker图像,我在其中任何一个都得到了同样的错误。任何人都知道我必须在我的jmx文件中更改它以使其可读吗?

我已经尝试过这个solution in stackexchange,但没有一个对我有用。

提前致谢。

docker jmeter load-testing jmx
2个回答
1
投票

qazxsw poi将从容器文件系统的角度加载,很可能这个路径在容器文件系统中不存在。

为了解决这个问题,您可以使用~/Developer/testing/login_test.jmx将此文件从主机文件系统挂载到容器文件系统中:

docker volume

说明

  • docker run -v ~/Developer/testing/:/workspace egaillardon/jmeter -n -t /workspace/login_test.jmx -l /workspace/resultado.jtl :将-v ~/Developer/testing/:/workspace目录从主机挂载到容器文件系统中的路径~/Developer/testing/
  • /workspace/:在运行时传递给容器processus(jmeter)的选项,因此在容器的上下文中。我们需要调整路径,使它们与我们在配置卷时选择的位置相匹配。

2
投票

您还可以将主机目录挂载到容器中的默认工作目录(-n -t /workspace/login_test.jmx -l /workspace/resultado.jtl)。

示例:

/jmeter

通过这样做,jmeter运行日志文件(docker run --detach --rm --volume `pwd`:/jmeter egaillardon/jmeter-plugins --nongui --testfile test.jmx --logfile result.jtl )也将在主机目录中创建。

此外,要解决有关文件权限的问题,还可以将主机上用户的用户ID和组ID分配给容器内的jmeter用户。

示例:

jmeter.log
© www.soinside.com 2019 - 2024. All rights reserved.