问题描述
我有一个测试套件,该套件使用配置了Chromedriver的Webdriver Sampler插件(https://jmeter-plugins.org/wiki/WebDriverSampler/)。如果我以“常规”非GUI模式运行测试,则插件可以正常工作,即启动chromedriver并执行测试脚本。
当我尝试以分布式模式运行测试时,chromedriver似乎无法启动,并且在日志中未发现任何错误。 我试图从主节点针对从节点运行测试,并从从节点本身运行测试(针对从节点上运行的运行jmeter-server)。
在没有上述插件的情况下运行测试有效(例如,以主服务器为目标服务器运行基于HTTP请求的测试套件)
我是否也必须以某种方式为jmeter-server配置插件?
解决方法
您需要:
- 使用JMeter Plugins Manager将WebDriver Sampler插件安装到所有从属计算机(jmeter服务器)
- 在同一位置将chromedriver二进制文件安装到所有从属计算机
- 确保所有从站上都安装了Chrome浏览器,并且该浏览器在操作系统PATH中
当您run JMeter test in distributed mode时,主机仅将.jmx测试脚本传输到从属服务器并从其收集结果,其他任何其他文件,例如:
- 插件
- 用于参数化的CSV文件
- 属性文件
- 等
应该手动或使用脚本从主机复制过来
,事实证明该插件确实有效,但是为了使chromedriver正常运行,必须在每个从属节点上设置一个显示变量。
-
安装xvfb
-
运行命令:
Xvfb:1-屏幕5 1024x768x8&
export DISPLAY =:1.5