2012-06-29 59 views
2

我目前正在使用Java,Selenium和Testng開發項目。我的總體目標是通過不同的Web瀏覽器測試網頁的功能。我有我的Selenium代碼工作,並且能夠在Chrome和Firefox上運行測試。但是,我必須手動更改代碼才能切換瀏覽器。我通過評論出driver = new ChromeDriver(); 我想編輯我的代碼,以便測試在Firefox中運行,並且測試完成後,在Chrome中啓動測試。有人能指導我在正確的方向嗎?運行Selenium-Java測試時自動切換瀏覽器

這裏是我的代碼看起來像一個示例:

WebDriver driver = null; 
Selenium selenium = null; 


@BeforeSuite 
public void setup() throws Exception { 

    /// Chrome Driver /// 
    System.setProperty("webdriver.chrome.driver", "mac/chromedriver.exe"); 
    //driver = new ChromeDriver(); 


    /// Firefox Driver /// 
    driver = new FirefoxDriver(); 


} 


@Test 
public void testGoogle() throws Exception { 

selenium = new WebDriverBackedSelenium(driver,"URL"); 

回答

1

有可能是實現這一目標的不少辦法。

在設置中,您可以讀取一個屬性,並基於該屬性您可以實例化正確的驅動程序。

String driverType = System.getProperty("driverType"); 
if ("firefox".equals(driverType)) 
    driver = new FirefoxDriver()..... 

您可以運行兩次測試,一次使用firefox屬性,然後使用chrome屬性。

其他選項是保留所有的測試在一個類。然後通過兩個類來擴展這個類,一個用於firefox設置,另一個用於chrome設置。然後,您可以在套件中運行這兩個子類測試。他們會一個接一個地跑。

+0

謝謝你這麼快回到我身邊。我用你的第一個建議,並添加了兩個if語句(一個用於firefox,另一個用於Chrome),並且我收到此錯誤:測試... 失敗:testGoogle java.lang.IllegalStateException:驅動程序實例必須支持JS。 – user1492081

相關問題