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

EdgeDriver启动会话失败500错误,CI环境随机触发

解决EdgeDriver随机出现“session not created from no such execution context”错误(CI环境专属)

问题描述

启动Microsoft Edge会话时随机触发以下错误,仅在Windows 10 CI环境中出现:

Unknown Problem: Could not start a new session. Response code 500. Message: session not created
from no such execution context: loader has changed while resolving nodes
(Session info: MicrosoftEdge=114.0.1823.79)
System info: os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '11.0.15'
Driver info: org.openqa.selenium.edge.EdgeDriver

已尝试的无效方案

  • 添加Edge启动参数:--disable-dev-shm-usage、--remote-allow-origins=*
  • 配置系统属性:System.setProperty("webdriver.edge.driver", "driverpath");

针对性排查与解决方案

针对CI环境的随机性特点,可尝试以下操作:

  • 严格对齐浏览器与Driver版本:CI环境中Edge可能自动更新,导致EdgeDriver版本不匹配。建议在CI脚本中固定Edge版本,或使用webdrivermanager自动拉取对应版本的Driver:

    WebDriverManager.edgedriver().setup();
    EdgeDriver driver = new EdgeDriver(options);
    
  • 提升CI环境资源配额:随机性报错常与资源不足相关,可尝试给CI任务分配更多内存/CPU,或减少并行运行的测试用例数量。

  • 验证启动参数注入逻辑:确保启动参数正确添加到EdgeOptions对象中,示例代码:

    EdgeOptions options = new EdgeOptions();
    options.addArguments("--disable-dev-shm-usage");
    options.addArguments("--remote-allow-origins=*");
    // CI无图形界面时,建议启用无头模式提升稳定性
    options.addArguments("--headless=new");
    EdgeDriver driver = new EdgeDriver(options);
    
  • 强制清理会话残留:CI环境可能存在未清理的浏览器进程或临时文件,测试前添加清理步骤:

    • 杀掉所有msedge.exe和msedgedriver.exe进程(Windows可执行命令:taskkill /F /IM msedge.exe /IM msedgedriver.exe)
    • 删除Edge缓存目录(如C:\Users\<CI_USER>\AppData\Local\Microsoft\Edge\User Data\Temp)
  • 启用Driver日志定位问题:初始化Driver时开启详细日志,便于捕捉随机失败的具体原因:

    System.setProperty("webdriver.edge.logfile", "./edge_driver.log");
    System.setProperty("webdriver.edge.verboseLogging", "true");
    

内容的提问来源于stack exchange,提问作者dawge4qd

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 12:42:48