为什么 Selenium 给 Safari 11 的版本是 13605?

Why does Selenium give Safari 11's version as 13605?

我正在使用 BrowserStack 进行 Selenium 测试并发送这组功能以使用 Safari 11 进行测试:

os=OS X
os_version=High Sierra
browser=Safari
browser_version=11

但是当我在 Java 代码中检查浏览器属性时...

System.out.println("Browser is: " + driver.getCapabilities().getBrowserName());
System.out.println("Version is: " + driver.getCapabilities().getVersion());
System.out.println("Platform is: " + driver.getCapabilities().getPlatform());

我明白了:

Browser is: safari
Version is: 13605.3.8
Platform is: MAC

Chrome、Firefox、Edge 和 IE 等其他浏览器提供了我期望的版本号。 Safari 12 也是如此:12.1.1.

那么 Safari 11 的这个 13605 来自哪里?

当您使用 Safari v11 并且 driver.getCapabilities().getVersion() 正在返回 13605.3.8 这似乎是一个错误。

根据 MacUpdate 过去版本的 Safari 之一是:

Version 12.0, released Sep 18, 2018

之前的版本是:

Version 11.1.2: (13605.3.8)

getVersion()应该已经提取了11.1.2

当您在 Safari v11.1.2 上 运行 命令 "driver.getCapabilities().getVersion()" 时看到的 Safari 版本是与该特定 Safari 版本关联的内部版本号。有关详细信息,请参阅 here.

在本地 Safari v11.1.2 上 运行 命令 "driver.getCapabilities().getVersion()" 时,您也会看到返回相同的版本。

附上我本地 Safari v11.1.2 (13605.3.8) 的截图。