2016-12-05 63 views
0

我的硒腳本(用perl編寫)正在使用/運行在firefox,chrome和IE上,正如我預期的那樣。我寫了我自己的「Testrun日誌記錄」,這也很好。幾天前,我的想法是包含硒驅動程序版本。 硒獨立服務器版本可通過「$ driver-> status」獲得。如果我的腳本在chrome上運行,則通過「$ driver-> get_capabilities()」找到版本信息。但是,即使我沒有找到一個版本號。 鍍鉻我geht散列,如:Selenium驅動程序版本// get_capabilities()

{ 
    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} 
} 

爲即我得到:

{ 
    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的版本?

回答

1

所以,我不太清楚你是否想要登錄WebDriver的版本或瀏覽器的版本。如果是後者,則版本將打印在您的問題的兩個輸出中。

如果您正在尋找webdriver版本,它看起來不像IE驅動程序在功能列表中具有驅動程序版本(請參閱:DesiredCapabilities documentationChromeDriver Capabilities documentation)。據我所知,這些頁面上列出的屬性是唯一可以從WebDriver讀取的屬性。

你可以嘗試(在Java中,但我想的方法是在Perl類似)

driver.getCapability("InternetExplorerDriver.version"); // or something like this, 

,但據我所知,有可用來查詢沒有IE的驅動程序版本。

+0

我正在尋找驅動程序版本而不是瀏覽器版本。對於IEDriver我預計會得到2.53.1,但由於你鏈接的doku沒有提到IEDriver的驅動版本,所以我沒有想到會以某種方式得到它 – roli