使用TestNG進行瀏覽器(IE、Chrome、FireFox)並發兼容性測試
阿新 • • 發佈:2017-10-07
內容 utf oid 設置 tac www. intern else if ins
Web測試項目中經常會進行瀏覽器兼容性相關的測試工作,而兼容性測試的工作重復性相當高,這裏TestNG提供了並發執行執行測試用例的功能,可以讓測試用例以並發的形式執行,實現並發測試不同瀏覽器的兼容性測試需求。
這裏以IE、Chrome、FireFox瀏覽器結合TestNGINX以並發方式進行瀏覽器訪問為例(IE、Chrome、Firefox調用方式請參考之前的博客)
測試代碼:
package com.testng.browser; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.ie.InternetExplorerDriver; import org.testng.Assert; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Parameters; import org.testng.annotations.Test; public class MultipleBrowserSearchTest { public WebDriver driver; String baseUrl = "http://www.sogou.com/"; @Parameters("browser") @BeforeClass public void beforeTest(String Browser) { if(Browser.equalsIgnoreCase("firefox")) { System.setProperty("webdriver.firefox.bin", "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"); driver = new FirefoxDriver(); //設置瀏覽器為全屏模式 driver.manage().window().maximize(); }else if(Browser.equalsIgnoreCase("ie")) { System.setProperty("webdriver.ie.driver", "C:\\Program Files\\Internet Explorer\\IEDriverServer.exe"); //設置IE瀏覽器默認存儲位置 driver = new InternetExplorerDriver(); //設置瀏覽器為全屏模式 driver.manage().window().maximize(); }else { //錕斤拷錕矯谷革拷錕斤拷錕斤拷錕僥拷洗媧⑽夥拷錕? System.setProperty("webdriver.chrome.driver", "D:\\BaiduNetdiskDownload\\Chrome\\chromedriver.exe"); driver = new ChromeDriver(); //錕斤拷錕斤拷錕斤拷錕斤拷錕轎拷錕僥J? driver.manage().window().maximize(); } } @Test public void testSearch() { driver.get(baseUrl); WebElement inputBox = driver.findElement(By.id("query")); Assert.assertTrue(inputBox.isDisplayed()); inputBox.sendKeys("光榮之路自動化測試"); //單擊搜素按鈕 driver.findElement(By.id("stb")).click(); try { Thread.sleep(3000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } Assert.assertTrue(driver.getPageSource().contains("光榮之路")); } @AfterClass public void afterTest() { //退出瀏覽器 driver.quit(); } }
testng.xml文件的配置內容如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="Suite" parallel="tests" thread-count="3"> <!-- 火狐瀏覽器 --> <test name="FirefoxTest"> <parameter name="browser" value="firefox"></parameter> <classes> <class name="com.testng.webdriver.MultipleBrowserSearchTest"/> </classes> </test> <!-- IE瀏覽器 --> <test name="IETest"> <parameter name="browser" value="ie"></parameter> <classes> <class name="com.testng.webdriver.MultipleBrowserSearchTest"></class> </classes> </test> <!-- 谷歌瀏覽器 --> <test name="ChromeTest"> <parameter name="browser" value="chrome"></parameter> <classes> <class name="com.testng.webdriver.MultipleBrowserSearchTest"></class> </classes> </test> </suite>
運行結果:在運行過程中,可以看到系統同時彈出了IE、Chrome、FireFox的瀏覽器窗口,並在這3個窗口中運行測試腳本中定義的操作步驟,實現了瀏覽器的並發測試。
使用TestNG進行瀏覽器(IE、Chrome、FireFox)並發兼容性測試