我正在尝试使用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,但没有一个对我有用。
提前致谢。
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)的选项,因此在容器的上下文中。我们需要调整路径,使它们与我们在配置卷时选择的位置相匹配。您还可以将主机目录挂载到容器中的默认工作目录(-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