在Eclipse中使用Maven配置WebDriver+Testng(2)
建立一個簡單的測試項目
package net.Maventest; import org.openqa.selenium.*; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.support.ui.ExpectedCondition; import org.openqa.selenium.support.ui.WebDriverWait; import org.testng.Assert; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; public class WebDriverDemoTest{ private WebDriver driver; private String baseUrl; @BeforeClass public void setUp() throws Exception { System.setProperty("webdriver.firefox.bin", "D:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"); driver = new FirefoxDriver(); baseUrl = "http://www.baidu.com/"; } @Test public void testSearch() throws Exception { driver.get(baseUrl); Thread.sleep(1000); WebElement input = driver.findElement(By.id("kw1")); input.sendKeys("天氣預報"); Thread.sleep(1000); WebElement search = driver.findElement(By.id("su1")); search.click(); Thread.sleep(1000); Assert.assertTrue(driver.getTitle().contains("天氣預報"),"Title is incorrect."); System.out.println(driver.getTitle()); // (new WebDriverWait(driver,10)).until(new ExpectedCondition<Boolean>(){ // public Boolean apply(WebDriver d){ // return d.getTitle().startsWith("天氣預報"); // } // }); } @AfterClass public void tearDown() throws Exception { driver.quit(); } } |
加入Thread.sleep是由于有時候執行的太快了以至于頁面還沒顯示完整,以至于報錯。應該有更好的方法,稍后再編輯這里。
注釋掉的部分是另外一種判斷方法,關于WebDriver的等待方式,可以參考這篇文章http://blog.csdn.net/pf20050904/article/details/20052485
testng.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?> <suite name ="MavenTest" verbose="2"> <test name ="baiduTest"> <classes> <class name="net.Maventest.WebDriverDemoTest"> <methods> <includ name="setUp"/> <includ name="testSearch"/> <includ name="tearDown"/> </methods> </class> </classes> </test> </suite> |
posted on 2014-03-11 11:02 順其自然EVO 閱讀(556) 評論(0) 編輯 收藏 所屬分類: selenium and watir webdrivers 自動化測試學習