0

我无法使用 Selenium Remote Web 驱动程序在 MAC 上运行 MS Edge 测试。

我尝试为边缘二进制设置系统属性,如下所示:

dc = DesiredCapabilities.edge();
System.setProperty("webdriver.edge.driver", "/Users/username/Softwares/Work/jars/msedgedriver");
dc.setCapability("edge_binary","/Applications/Microsoft Edge Beta.app");

我检查了我安装的 msedge 驱动程序版本和 MS Edge 浏览器版本。两者都是 - 80.0.361.48

这是 Selenium 节点上的日志:

48 (e1a3ff36578e440880567e6adcbeab38ec2956fa) 在端口 31883 上只允许本地连接。请保护 MSEdgeDriver 和相关测试框架使用的端口,防止恶意代码访问。

运行代码时遇到的异常是

org.openqa.selenium.WebDriverException:未知错误:找不到 MSEdge 二进制构建信息:版本:'3.7.1',修订:'8a0099a',时间:'2017-11-06T21:07:36.161Z' 系统信息:主机: '****-MacBook-Pro.local', ip: 'fe80:0:0:0:14d9:68c6:7d2c:87a%en0', os.name: 'Mac OS X', os.arch: 'x86_64',os.version:'10.15.2',java.version:'1.8.0_152' 驱动程序信息:driver.version:未知

4

1 回答 1

0

此错误消息...

org.openqa.selenium.WebDriverException: unknown error: cannot find MSEdge binary 
Build info: version: '3.7.1', revision: '8a0099a', time: '2017-11-06T21:07:36.161Z' 
System info: host: '****-MacBook-Pro.local', ip: 'fe80:0:0:0:14d9:68c6:7d2c:87a%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.15.2', java.version: '1.8.0_152' 
Driver info: driver.version: unknown

...意味着该程序无法在您的系统中找到 MSEdge 二进制文件。

您的主要问题是您使用的二进制文件版本之间的不兼容,如下所示:

  • 尽管您使用的是兼容版本的MS Edge Driver v80.0MS Edge Browser v80.0
  • 您的Selenium 客户端版本是2017-11-06T21:07:36.161Z的3.7.1,大约老了2.5年。
  • 但是您的JDK 版本1.8.0_152非常古老

因此JDK v8u152Selenium Client v'3.7.1MS Edge Driver v80.0MS Edge Browser v80.0之间存在明显的不匹配


解决方案

确保这件事:

  • JDK升级到当前级别JDK 8u241
  • Selenium升级到当前级别版本 3.141.59
  • 重新启动系统
  • @Test非 root用户身份执行。
于 2020-02-11T14:18:59.503 回答