我的selenium脚本(用perl编写)在firefox、chrome和IE上使用/运行,正如我所期望的那样。我编写了自己的"Testrun logging“,这也很好。几天前,我有了包含selenium驱动程序版本的想法。selenium独立服务器版本可以通过"$driver->status“获得。如果我的脚本运行在chrome上,我可以通过"$driver->get_capabilities()“找到版本信息。但是我还没有找到版本号。对于chrome,我有一个散列,如下所示:
{
acceptSslCerts JSON::PP::Boolean {
Parents Types::Serialiser::BooleanBase
public methods (0)
private methods (0)
internals: 1
},
applicationCacheEnabled JSON::PP::Boolean {
Parents Types::Serialiser::BooleanBase
public methods (0)
private methods (0)
internals: 0
},
browserConnectionEnabled var{applicationCacheEnabled},
browserName "chrome",
chrome {
chromedriverVersion "2.25.426923 (0390b88869384d6eb0d5d09729679f934aab9eed)",
userDataDir "C:\Users\me\AppData\Local\Temp\scoped_dir8684_28008"
},
cssSelectorsEnabled var{acceptSslCerts},
databaseEnabled var{applicationCacheEnabled},
handlesAlerts var{acceptSslCerts},
hasTouchScreen var{applicationCacheEnabled},
javascriptEnabled var{acceptSslCerts},
locationContextEnabled var{acceptSslCerts},
mobileEmulationEnabled var{applicationCacheEnabled},
nativeEvents var{acceptSslCerts},
networkConnectionEnabled var{applicationCacheEnabled},
pageLoadStrategy "normal",
platform "XP",
rotatable var{applicationCacheEnabled},
takesHeapSnapshot var{acceptSslCerts},
takesScreenshot var{acceptSslCerts},
version "54.0.2840.99",
webdriver.remote.sessionid "eb545ef9-6a1b-4297-a239-ca595bafbec1",
webStorageEnabled var{acceptSslCerts}
}对于ie,我得到:
{
browserAttachTimeout 0,
browserName "internet explorer",
cssSelectorsEnabled JSON::PP::Boolean {
Parents Types::Serialiser::BooleanBase
public methods (0)
private methods (0)
internals: 1
},
elementScrollBehavior 0,
enableElementCacheCleanup var{cssSelectorsEnabled},
enablePersistentHover var{cssSelectorsEnabled},
ie.browserCommandLineSwitches "",
ie.enableFullPageScreenshot var{cssSelectorsEnabled},
ie.ensureCleanSession JSON::PP::Boolean {
Parents Types::Serialiser::BooleanBase
public methods (0)
private methods (0)
internals: 0
},
ie.fileUploadDialogTimeout 3000,
ie.forceCreateProcessApi var{ie.ensureCleanSession},
ie.forceShellWindowsApi var{ie.ensureCleanSession},
ignoreProtectedModeSettings var{ie.ensureCleanSession},
ignoreZoomSetting var{ie.ensureCleanSession},
initialBrowserUrl "http://localhost:48881/",
javascriptEnabled var{cssSelectorsEnabled},
nativeEvents var{cssSelectorsEnabled},
pageLoadStrategy "normal",
platform "WINDOWS",
requireWindowFocus var{ie.ensureCleanSession},
takesScreenshot var{cssSelectorsEnabled},
unexpectedAlertBehaviour "dismiss",
version 11,
webdriver.remote.sessionid "b630495e-70fe-4d68-b4e4-cb24a57acab3"
}但这里与"chromedriverVersion“完全不同。有谁知道如何获得IEDriver的版本吗?
发布于 2016-12-06 00:53:23
所以,我不太确定您是想记录WebDriver的版本还是浏览器的版本。如果是后者,则在问题中的两个输出中都会打印该版本。
如果你想记录网络驱动程序的版本,看起来IE驱动程序在功能列表中没有驱动程序版本(参见:DesiredCapabilities documentation和ChromeDriver Capabilities documentation)。据我所知,这些页面上列出的属性是唯一可以从WebDriver中读取的属性。
您可以尝试一下(在Java中,但我想在Perl中也有类似的方法)
driver.getCapability("InternetExplorerDriver.version"); // or something like this, 但据我所知,没有IE驱动程序版本可供查询。
https://stackoverflow.com/questions/40974087
复制相似问题