Aquality Selenium for .NET使用Edge浏览器时GoTo方法调用失败求助
兄弟,我之前折腾Aquality框架搭配Edge的时候也踩过类似的坑,给你几个针对性的排查方向,应该能帮你解决问题:
锁定Edge Driver版本,别用"Latest"
你配置里Edge的webDriverVersion设成了"Latest",这个自动匹配有时候会出问题——尤其是本地已经装了特定版本的Edge浏览器时,自动下载的Driver版本可能和浏览器不兼容。建议你直接把这个值改成和你本地Edge浏览器完全一致的版本号(比如Edge浏览器是118.0.2088.69,就填"118.0.2088.69"),确保Driver和浏览器版本100%匹配。补全Edge的Options配置
看你的配置里Chrome有一堆必要的options,但Edge的options是空的,这可能导致浏览器启动后处于异常状态,无法正常执行GoTo操作。你可以把Chrome的options复制过来适配Edge,比如:"edge": { "webDriverVersion": "你的Edge版本号", "systemArchitecture": "X32", "capabilities": {}, "options": { "intl.accept_languages": "en", "safebrowsing.enabled": "true", "profile.default_content_settings.popups": "0", "disable-popup-blocking": "true", "download.prompt_for_download": "false", "download.default_directory": "..\\..\\..\\test-results" }, "startArguments": ["--no-sandbox", "--disable-dev-shm-usage"] }其中
startArguments里的参数能解决很多Edge启动后的权限或沙箱冲突问题。检查测试运行的权限与环境
试试以管理员身份运行你的测试项目,有时候Edge的沙箱机制会阻止驱动和浏览器正常通信。另外,确认你的WinAppDriver是最新版本,避免和Edge的新特性不兼容。开启详细日志定位问题
你当前的logger配置只有language,建议添加日志级别来获取更详细的错误信息:"logger": { "language": "en", "level": "Debug" }这样你能看到GoTo方法执行时的具体报错细节,比如是导航超时、驱动连接失败还是其他问题,比模糊的"unknown error"有用多了。
先做基础的Selenium Edge验证
暂时抛开Aquality框架,写一个最简单的原生Selenium Edge测试代码:using OpenQA.Selenium; using OpenQA.Selenium.Edge; var options = new EdgeOptions(); // 加你需要的配置 var driver = new EdgeDriver(options); driver.Navigate().GoToUrl("你的测试URL");如果这个简单测试都失败,那说明是Edge Driver和浏览器的基础兼容性问题;如果能正常运行,那就是Aquality框架的配置还有遗漏的地方。
备注:内容来源于stack exchange,提问作者bdrummond

