1. 程式人生 > >使用TestNG進行瀏覽器(IE、Chrome、FireFox)並發兼容性測試

使用TestNG進行瀏覽器(IE、Chrome、FireFox)並發兼容性測試

內容 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)並發兼容性測試