創建一個普通的函數,在函數上方標記
@Test
- 標記的函數被認為是一條測試用例
- 函數的運行:代碼報錯,標記為用例失敗;代碼沒報錯,標記為用例成功
- 用例可以在一個類中寫多個
- 默認互不干擾:默認獨立
- 用例的依賴:@Test(dependsOnMethos={"用例1",“用例2”,......}),最少依賴一個,用例名就是函數名
@BeforClass
- 在類中所有的用例運行之前運行一次:類中有運行的用例函數菜運行;無論用例執行結果,都可以運行
@AfterClass
- 在類中所有的用例運行之后運行一次
@Assert.assertEquals(實際結果,預期結果);
- driver.getCurrentUrl();獲取當前網頁的網址
- driver.getTitle():獲取網頁標題,選項卡名稱
- driver.getPageSource():獲取網頁源代碼
@BeforeMethod
- 運行與每條用例前
@AfterMethod
- 運行與每條用例后
package com.bwf.AutoUITest.day05; import java.util.concurrent.TimeUnit; import org.databene.benerator.anno.Source; import org.databene.feed4testng.FeedTest; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.Assert; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; public class AddVIP extends FeedTest{ WebDriver driver; @Test public void login() { driver.get("http://172.31.4.157/index.php?m=admin&c=public&a=login"); driver.findElement(By.name("username")).sendKeys("admin"); driver.findElement(By.name("userpass")).sendKeys("password"); driver.findElement(By.name("userverify")).sendKeys("1234"); driver.findElement(By.className("Btn")).click(); Time.sleept(3); //斷言 判斷用例執行結果 //驗證 Assert.assertEquals(driver.getCurrentUrl(), "http://172.31.4.157/index.php?m=admin&c=index&a=index"); } @Test(dependsOnMethods= {"login"},dataProvider="feeder")//添加會員 @Source("data/members.xls") public void addMem(String username,String phone,String sex,String birthday,String email ,String qq) { //進入會員管理界面 driver.findElement(By.linkText("會員管理")).click(); driver.findElement(By.linkText("添加會員")).click(); driver.switchTo().frame("mainFrame"); //添加會員信息 driver.findElement(By.name("username")).sendKeys(username); driver.findElement(By.name("mobile_phone")).sendKeys(phone); if(sex.equals("男")) { driver.findElement(By.xpath("//input[@value='1']")).click(); } driver.findElement(By.name("birthday")).sendKeys(birthday); driver.findElement(By.name("email")).sendKeys(email); driver.findElement(By.name("qq")).sendKeys(qq); // Time.sleept(3); driver.findElement(By.className("button_search")).click(); Time.sleept(3); //判斷是否添加成功 Assert.assertTrue(driver.getPageSource().contains(username)); } @BeforeMethod public void beforeMethod() { driver.switchTo().defaultContent(); } @BeforeClass public void beforeClass() { driver = new ChromeDriver(); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(12, TimeUnit.SECONDS); } @AfterClass public void aferClass() { Time.sleept(3); driver.quit(); } public void selectWindow() { driver.close(); for (String handle : driver.getWindowHandles()) { driver.switchTo().window(handle); } } }
執行結果:

