2015-05-14 51 views
4

我正在爲使用硒驅動程序構建一些網站的測試框架,我的目標是讓多個驅動程序同時運行相同的測試(又名firefox驅動程序,internetexplorerdriver,和一個chromedriver都與一些共享資源同時運行)。但是,我在記錄哪個驅動程序正在做什麼時遇到問題。我通過驅動程序通過了很多我的代碼,但據我所知,webdriver不知道它是什麼特定類型的驅動程序。有什麼辦法來問一個webdriver元素它被實例化爲什麼?確定Java中硒驅動程序的類型

回答

7

您可以使用instanceof

if(driver instanceof FirefoxDriver) { 
    System.out.println("Firefox it is!!"); 
    } 
    else if(driver instanceof ChromeDriver) { 
    System.out.println("Chrome it is!!"); 
    } 
    // and so on 

有關詳細信息:What is the 'instanceof' operator used for?

+0

哦,我的上帝。 *在桌子上打頭*。謝謝。 – iamthereplicant

+0

如果使用RemoteWebDriver遠程執行我們的測試,該怎麼辦? – san1deep2set3hi

+0

@ san1deep2set3hi use'capabilities.getBrowserName()' – xyz

0
/****************************************************************************************** 
* Name: getBrowserDetails | Description: Gets Browser Name and Version 
******************************************************************************************/ 
public String getBrowserDetails() throws Exception { 
    Capabilities caps = ((RemoteWebDriver)BaseTest.driver).getCapabilities(); 
    String browserName = caps.getBrowserName(); 
    String browserVersion = caps.getVersion(); 
    String browser = (browserName + " " + browserVersion).toUpperCase(); 
    return browser; 
} 
+0

我們可以對這個問題如何回答這個問題有一些描述嗎? –

+0

這會根據瀏覽器名稱返回瀏覽器名稱,我們可以決定它是什麼類型的驅動程序 –