JMeter中Webdriver Sampler无法加载Chrome页面报错求助
JMeter WebDriver Sampler启动Chrome失败:DevToolsActivePort文件不存在问题
错误日志
org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: session not created: Chrome failed to start: exited normally. (session not created: DevToolsActivePort file doesn't exist) (The process started from chrome location C:\Program Files\Google\Chrome\Application\chrome.exe is no longer running, so ChromeDriver is assuming that Chrome has crashed.) Host info: host: 'L511024', ip: '192.168.0.180' Build info: version: '4.13.0', revision: 'ba948ece5b*' System info: os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '17.0.6' Driver info: org.openqa.selenium.chrome.ChromeDriver Command: [null, newSession {capabilities=[Capabilities {acceptInsecureCerts: false, browserName: chrome, goog:chromeOptions: {args: [--start-maximized,, remote-allow-origins=*], extensions: []}, proxy: Proxy(system)}]}] at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:140) ~[selenium-remote-driver-4.13.0.jar:?] at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:96) ~[selenium-remote-driver-4.13.0.jar:?] at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:68) ~[selenium-remote-driver-4.13.0.jar:?] at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:163) ~[selenium-remote-driver-4.13.0.jar:?] at org.openqa.selenium.remote.service.DriverCommandExecutor.invokeExecute(DriverCommandExecutor.java:196) ~[selenium-remote-driver-4.13.0.jar:?] at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:171) ~[selenium-remote-driver-4.13.0.jar:?]
已配置的Chrome Driver参数
- Driver Config:
- 驱动路径:先后尝试32位和64位ChromeDriver路径(
C:\Users\Downloads\WEBDRIVER\32Driver\chromedriver.exe等) - 禁用Development模式
- 禁用Accept Insecure Certs
- 禁用Headless模式(也尝试过启用)
- 禁用浏览器最大化(也尝试过启用)
- 禁用“每次迭代启动新浏览器”
- 驱动路径:先后尝试32位和64位ChromeDriver路径(
- Options Config:
--start-maximized,, remote-allow-origins=* - Proxy Config:使用系统代理设置
- Capabilities Management:空
Groovy测试脚本
import org.openqa.selenium.*; import org.openqa.selenium.support.ui.*; import org.openqa.selenium.support.ui.WebDriverWait; def wait = new WebDriverWait(WDS.browser,15000); WDS.sampleResult.sampleStart(); WDS.sampleResult.getLatency(); WDS.log.info("Launch Page"); WDS.browser.get('<app_url>'); WDS.sampleResult.sampleEnd();
工具版本信息
- JMeter:5.6.3(最新版)
- Java:17.0.6 LTS
- ChromeDriver:120(与Chrome浏览器版本120.0完全匹配)
- WebDriver:4.13.0
- 当前Chrome版本:120.0
- 错误表现:Chrome进程启动后立即退出,提示DevToolsActivePort文件不存在
已尝试的解决措施
- 切换32位/64位ChromeDriver
- 调整浏览器最大化选项
- 修改
system.property文件,添加webdriver.chrome.bin指定路径(但错误指向了Chrome浏览器路径,而非驱动)
解决建议
修复Options配置的语法错误
你的Options Config里存在连续逗号:--start-maximized,, remote-allow-origins=*,这会导致参数解析失败。改为--start-maximized,remote-allow-origins=*(逗号后无空格),或每个参数单独列出。正确指定Chrome浏览器路径
错误日志显示ChromeDriver尝试启动的是C:\Program Files\Google\Chrome\Application\chrome.exe,如果你的Chrome安装在其他位置,需在Options中添加--chrome-binary参数指定正确的chrome.exe路径,示例:--chrome-binary=C:\Program Files\Google\Chrome\Application\chrome.exe,--start-maximized,remote-allow-origins=*注意:
webdriver.chrome.bin是指定Chrome浏览器的路径,不是ChromeDriver的路径,之前你可能混淆了两者。添加必要的启动参数
添加--disable-dev-shm-usage和--no-sandbox参数,解决Windows下可能的权限或共享内存问题,Options配置改为:--start-maximized,remote-allow-origins=*,--disable-dev-shm-usage,--no-sandbox检查权限与进程冲突
- 以管理员权限运行JMeter,避免Chrome启动时权限不足
- 关闭所有Chrome进程(包括后台进程),防止旧进程占用端口
验证ChromeDriver完整性
重新下载对应版本的ChromeDriver,解压后放置到JMeter的bin目录下,确保路径中无中文或空格(若有空格,用引号包裹路径)。
内容的提问来源于stack exchange,提问作者Jyoti Prakash Mallick
相关产品推荐
相关产品推荐

