You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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模式(也尝试过启用)
    • 禁用浏览器最大化(也尝试过启用)
    • 禁用“每次迭代启动新浏览器”
  • 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浏览器路径,而非驱动)

解决建议

  1. 修复Options配置的语法错误
    你的Options Config里存在连续逗号:--start-maximized,, remote-allow-origins=*,这会导致参数解析失败。改为--start-maximized,remote-allow-origins=*(逗号后无空格),或每个参数单独列出。

  2. 正确指定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的路径,之前你可能混淆了两者。

  3. 添加必要的启动参数
    添加--disable-dev-shm-usage和--no-sandbox参数,解决Windows下可能的权限或共享内存问题,Options配置改为:

    --start-maximized,remote-allow-origins=*,--disable-dev-shm-usage,--no-sandbox
    
  4. 检查权限与进程冲突

    • 以管理员权限运行JMeter,避免Chrome启动时权限不足
    • 关闭所有Chrome进程(包括后台进程),防止旧进程占用端口
  5. 验证ChromeDriver完整性
    重新下载对应版本的ChromeDriver,解压后放置到JMeter的bin目录下,确保路径中无中文或空格(若有空格,用引号包裹路径)。

内容的提问来源于stack exchange,提问作者Jyoti Prakash Mallick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 13:44:56