您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > TestNG
WebDriver + TestNG應(yīng)用
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2014/9/18 14:00:28 ] 推薦標簽:開源測試 軟件測試 TestNG

  Selenium 2 大的更新是集成了WebDriver。這兩者是什么關(guān)系呢?如果你搜索WebDriver,第一條結(jié)果是Selenium。其實WebDriver和Selenium可以說是在實現(xiàn)UI Automation的競爭對手。Selenium是運行在JavaScript的sandbox里面,所以很容易支持不同的瀏覽器;而WebDriver則是直接操作瀏覽器本身,更接近用戶的真實操作,但正因為如此,所以WebDriver在多瀏覽器/操作系統(tǒng)的支持上要落后于Selenium。不過從Selenium 2開始,這兩個項目合并了,可以繼續(xù)用原來的Selenium,也可以考慮遷移到WebDriver。我個人認為WebDriver應(yīng)該是以后的大趨勢,還是值得遷移的。至于你信不信,我反正是信了。
  作為一個輕量級的UI Automation框架,需要寫一些驅(qū)動它的代碼,大部分人會選擇JUnit,因為JUnit是單元測試的事實標準;但是我會用TestNG。這些UI Automation的東西,它們本身不是單元測試,而且也沒有太多單元測試的風(fēng)格。
  從一段簡單的測試開始
public class GoogleTest  {
@Test
public void search(ITestContext context) {
WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com");
WebElement element = driver.findElement(By.name("q"));
element.sendKeys("magus");
element.submit();
Assert.assertTrue(driver.getTitle().contains("magus"), "Something wrong with title");
}
}
  TestNG應(yīng)用了Java的Annotations,只需要在測試方法上面打上@Test可以標示出search是一個測試方法。用TestNG運行測試還需要一個testng.xml的文件,文件名其實可以隨便起,沒有關(guān)系的。
<suite name="Magus demo" verbose="2">
<test name="Search function">
<classes>
<class name="test.GoogleTest">
<methods>
<include name="search" />
</methods>
</class>
</classes>
</test>
</suite>
  我想讓測試更加靈活,1. 可以配置使用任意支持的瀏覽器進行測試;2. 配置所有Google的URL;3. 配置搜索的關(guān)鍵字。修改后的代碼:
public class GoogleTest  {
WebDriver driver;
@Parameters({"browser"})
@BeforeTest
public void setupBrowser(String browser){
if (browser.equals("firefox")){
driver = new FirefoxDriver();
} else {
driver = new ChromeDriver();
}
}
@Parameters({ "url", "keyword" })
@Test
public void search(String url, String keyword, ITestContext context) {        driver.get(url);
WebElement element = driver.findElement(By.name("q"));
element.sendKeys(keyword);
element.submit();
Assert.assertTrue(driver.getTitle().contains(keyword), "Something wrong with title");        }
}

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd