JMeter集成Selenium调用ChromeDriver运行失败求助
解决方案
1. 匹配Chrome与ChromeDriver版本
ChromeDriver的版本必须和本地Chrome浏览器大版本完全一致(比如Chrome 120.x对应ChromeDriver 120.x),小版本尽量同步。版本不匹配是启动异常、WebSocket连接失败的常见诱因。
2. 调整ChromeDriver配置项
打开JMeter的「ChromeDriver Config」元件,修改以下设置:
- 取消「Close Browser After Sampler」勾选:这个选项默认开启,会在Sampler执行完立刻关闭浏览器,这是浏览器闪关的直接原因。
- 添加命令行参数:在「Additional Command Line Arguments」输入框填入:
各参数作用:--remote-debugging-port=9222 --no-sandbox --disable-dev-shm-usage--remote-debugging-port=9222:固定调试端口,避免随机端口引发的WebSocket连接问题--no-sandbox:解决系统权限限制导致的启动失败--disable-dev-shm-usage:规避共享内存不足的问题(Windows/Linux通用)
- 配置浏览器Capabilities:在「Browser Capabilities」中输入JSON:
{"goog:chromeOptions": {"debuggerAddress": "localhost:9222"}}
3. 优化Sampler代码(可选)
如果想让浏览器在测试结束后停留一段时间,可在代码末尾添加延迟:
WDS.SampleResult.sampleStart(); WDS.browser.get('http://google.com'); var searchBox = WDS.browser.findElement(org.openqa.selenium.By.name("q")); searchBox.sendKeys("Test"); searchBox.sendKeys(org.openqa.selenium.Keys.Enter); // 延迟3秒,方便查看测试结果 java.lang.Thread.sleep(3000); WDS.sampleResult.sampleEnd(); // 如需手动关闭浏览器,取消下方注释 // WDS.browser.quit();
4. 排查日志(若仍有问题)
修改配置后重新运行,若仍报错,查看jmeter.log确认错误细节。同时检查ChromeDriver路径是否正确,路径中不要包含空格或特殊字符。
内容的提问来源于stack exchange,提问作者Rohit Mathur
相关产品推荐
相关产品推荐

