繁体   English   中英

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

[英]Trying to run a JMeter test using a docker container for JMeter (non GUI mode) throws error “Could not open xxxx.jmx file”

我正在尝试使用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)图像(egaillardon/jmeter, justb4/jmeter, vmarrazzo/jmeter) ,我在其中任何一个都得到了相同的错误。 任何人都知道我必须在我的jmx文件中更改它以使其可读吗?

我已经尝试在Stack Exchange中使用此解决方案,但没有一个对我有用。

您还可以将主机目录安装到容器中的默认工作目录( /jmeter )。

示例:

docker run --detach --rm --volume `pwd`:/jmeter egaillardon/jmeter-plugins --nongui --testfile test.jmx --logfile result.jtl


通过这样做,jmeter运行日志文件( jmeter.log )也将在主机目录中创建。

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

示例:

docker run --env JMETER_GROUP_ID=`/usr/bin/id -g` --env JMETER_USER_ID=`/usr/bin/id -u` --rm egaillardon/jmeter --server -Jserver.rmi.ssl.disable=true

~/Developer/testing/login_test.jmx将从容器文件系统中加载,很可能是容器文件系统中不存在此路径。

为了克服这一点,你可以从你的主机文件系统的文件安装到与您的容器文件系统搬运工量

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/
  • -n -t /workspace/login_test.jmx -l /workspace/resultado.jtl :在运行时传递给容器processus(jmeter)的选项,因此在容器的上下文中。 我们需要调整路径,使它们与我们在配置卷时选择的位置相匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM