2014-12-02 95 views
3

我在node.js上使用硒webdriver(目前通過webdriverio,但我不介意切換到webdriverjs或wd)。Node.js selenium webdriver - 在測試中獲取瀏覽器功能?

我運行在不同的瀏覽器一些測試,希望保存每次測試的結果與有關瀏覽器的信息一起,例如:

  • 測試1 - 鉻 - 199個斷言,0失敗,0跳過
  • 測試1 - IE9 - 199個斷言,0失敗,0跳過
  • 等。

我怎樣才能從測試中獲得了 「desiredCapabilities」 對象?

或者我該如何將它傳遞給測試,以便它可用?

編輯

我發現browser.desiredCapabilities返回所請求的功能對象,但現在我意識到我確實需要使用(例如「實際能力」如果我問IE8的一個機器,只有IE11我上得到IE11,但desiredCapabilities對象顯示版本= 8)。

我正在尋找一種方式來獲得實際使用的瀏覽器功能,如記錄上selenium wiki

If a session cannot support a capability that is requested in the desired capabilities, no error is thrown; a read-only capabilities object is returned that indicates the capabilities the session actually supports.

回答

3

使用WebDriverJS(你提到你可以切換到),你可以使用getCapabilities

browser.getCapabilities().then(function (caps) { 
    console.log(caps); 
}); 

上面的代碼只會轉儲功能,但您應該使用Capabilities class的方法來檢查這些值。例如:

browser.getCapabilities().then(function (caps) { 
    console.log(caps.get("browserName"), caps.get("version")); 
}); 
+0

我得到TypeError:對象#沒有方法'getCapabilities'。 你正在使用哪種實現? – Malki 2014-12-04 14:33:18

+0

我正在使用[WebDriverJS](https://code.google.com/p/selenium/wiki/WebDriverJs)。現在回頭看看你的問題,我意識到你在頂部提到webdriverio。我錯過了。 – Louis 2014-12-04 14:36:21

相關問題