首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >尝试使用JMeter (非图形用户界面模式)的停靠容器运行JMeter测试时抛出错误“无法打开xxxx.jmx文件”

尝试使用JMeter (非图形用户界面模式)的停靠容器运行JMeter测试时抛出错误“无法打开xxxx.jmx文件”
EN

Stack Overflow用户
提问于 2019-03-04 20:55:11
回答 2查看 3.3K关注 0票数 3

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

在JMeter的本地模式下,我的测试可以在图形用户界面或非图形用户界面模式下正常运行,但是当我尝试使用JMeter的docker镜像在非图形用户界面模式下运行它们时:

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 Stack Exchange,但没有一个对我有效。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-04 21:15:06

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

要克服这个问题,您可以使用docker volume将该文件从主机文件系统挂载到容器文件系统中

代码语言:javascript
复制
docker run -v ~/Developer/testing/:/workspace egaillardon/jmeter -n -t /workspace/login_test.jmx -l /workspace/resultado.jtl

解释

  • -v ~/Developer/testing/:/workspace:将主机上的~/Developer/testing/目录挂载到容器filesystem
  • -n -t /workspace/login_test.jmx -l /workspace/resultado.jtl:选项中的路径/workspace/,该选项在运行时传递给容器进程(jmeter),从而在容器的上下文中。我们需要调整路径,使其与我们在配置卷时选择的位置相匹配。
票数 3
EN

Stack Overflow用户

发布于 2019-04-25 03:40:02

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

示例:

代码语言:javascript
复制
docker run --detach --rm --volume `pwd`:/jmeter egaillardon/jmeter-plugins --nongui --testfile test.jmx --logfile result.jtl

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

此外,为了解决文件权限的问题,您还可以将主机上用户的用户id和组id分配给容器内的jmeter用户。

示例:

代码语言:javascript
复制
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
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54983743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档