Selenium4+Serenity启动Edge报错无法实例化EdgeDriver
问题根因
Edge驱动初始化失败由两个核心问题导致:
- 自动驱动管理逻辑优先级冲突:项目依赖的WebDriverManager默认会在启动阶段自动联网匹配、下载对应版本的Edge驱动,运行日志显示当前网络环境无法正常完成驱动版本查询,触发空异常后反复重试,直接中断初始化流程,未读取
serenity.properties中配置的本地驱动路径。 - 本地驱动配置不符合识别规则:Edge驱动默认识别的可执行文件名为
msedgedriver.exe,自定义命名的EdgeDriver_32_102.0.1245.33.exe无法被Serenity默认逻辑识别,即使跳过自动下载步骤也会触发路径不存在的报错。
修复方案
按以下顺序操作即可解决:
- 关闭WebDriverManager自动下载逻辑,在
serenity.properties中新增以下配置:
webdriver.manager.autodownload=false webdriver.manager.edge.autodownload=false
- 修正本地驱动配置:将本地存放的对应版本Edge驱动重命名为
msedgedriver.exe,同步更新配置文件中的驱动路径为重命名后的文件路径,参考配置:
webdriver.edge.driver=foo/boo/msedgedriver.exe
注意:需确认驱动路径为相对于项目根目录的有效相对路径,执行mvn命令时的工作目录与项目根目录保持一致,避免路径解析失败
- 版本匹配校验:当前使用的102.0.1245.33版本Edge浏览器与同版本驱动完全匹配,32位驱动可在64位系统上正常运行,无需额外更换驱动安装包。
验证方法
直接执行原有命令即可启动测试:
mvn test install -Denv="Dev" -Dwebdriver.driver=edge
正常运行时不会再出现WebDriverManager联网拉取驱动的相关日志,将直接拉起Edge浏览器执行测试用例。
补充:后续切换回Chrome运行时无需修改上述新增配置,只要将Chrome本地驱动重命名为
chromedriver.exe、保持配置路径正确即可正常运行。
内容的提问来源于stack exchange,提问作者Learner
相关产品推荐
相关产品推荐

