求助:Microsoft Edge运行Protractor测试脚本的配置及错误解决
嘿,我看你在Protractor运行Edge测试时碰到了SessionNotCreatedError的问题,核心原因是你把Edge浏览器的路径当成了EdgeDriver的路径——Selenium需要的是专门的EdgeDriver驱动程序,不是浏览器本身哦!下面给你一步步梳理正确的配置流程:
正确配置Protractor + Microsoft Edge的步骤
1. 先搞定EdgeDriver的匹配与下载
- 第一步先确认你的Edge浏览器版本:打开Edge,点右上角三个点 → 设置 → 关于Microsoft Edge,记下版本号(比如119.0.2151.58这种)
- 去微软官网下载完全对应版本的EdgeDriver,要注意匹配你的系统是32位还是64位
- 解压下载的压缩包,把里面的
msedgedriver.exe放到一个好记的路径,比如C:\webdrivers\msedgedriver.exe
2. 修改Protractor配置文件(protractor.conf.js)
把你之前的配置改成下面的样子,重点是指定正确的EdgeDriver路径:
exports.config = { directConnect: false, // 如果要通过webdriver-manager启动Selenium,保持false capabilities: { browserName: 'MicrosoftEdge', 'ms:edgeOptions': { args: [] // 这里可以加启动参数,比如['--headless']来跑无头模式 } }, seleniumArgs: ['-Dwebdriver.edge.driver=C:\\webdrivers\\msedgedriver.exe'], // 注意Windows路径的反斜杠要转义,或者用正斜杠'/'' // 你原来的specs、framework这些配置正常保留就行 };
小提示:如果你的Protractor版本比较新,可以试试
directConnect: true,这种方式不需要手动启动Selenium服务器,配置会更简单:exports.config = { directConnect: true, capabilities: { browserName: 'MicrosoftEdge', 'ms:edgeOptions': { args: [] }, 'webdriver.edge.driver': 'C:\\webdrivers\\msedgedriver.exe' }, // 其他配置项不变 };
3. 启动Selenium服务器(仅当不用directConnect时)
- 先更新webdriver-manager的EdgeDriver:运行命令
webdriver-manager update --edge - 然后启动服务器:
webdriver-manager start --edge
当然你也可以用之前的启动命令,但一定要保证配置里的EdgeDriver路径是对的
几个常见坑要避开
- 版本不匹配:Edge浏览器和EdgeDriver的版本必须完全一致,差一个小版本都可能报错
- 路径写错:确认
msedgedriver.exe的路径绝对正确,Windows路径里的反斜杠要写成\\,或者换成正斜杠/ - 权限问题:如果运行时提示权限不够,试试用管理员身份打开命令提示符再执行命令
内容的提问来源于stack exchange,提问作者vasundhara
相关产品推荐
相关产品推荐

