您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > TestNG
解決TestNG測試用例依賴性的問題
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/8/13 11:04:39 ] 推薦標簽:

  如果測試用例間有依賴性,也是如果想執(zhí)行B,必須要先執(zhí)行A。那么用例的執(zhí)行順序很關(guān)鍵,如何來指定用例的順序呢,有這樣幾種方法:

  1. 給用例加編號:

public void test01Login(){
XXX
}
public void test02Add(){
XXX
}
public void test03Delete(){
XXX
}

  2. 加上關(guān)鍵字

  硬依賴的例子:

@Test
public void serverStartedOk() {}
@Test(dependsOnMethods = { "serverStartedOk" })
public void method1() {}

  此例中,method1() 依賴于方法 serverStartedOk(),從而保證

  serverStartedOk() 總是先運行。

public class Demo1 {
 WebDriver driver;
 
 @BeforeClass
 public void beforeClass() {
  System.setProperty("webdriver.ie.driver","E:\WebDriver\IEDriverServer.exe");
  driver = new InternetExplorerDriver();
 }
 //登錄博客
 @Test
 public void login() throws InterruptedException {
  System.out.println("login開始執(zhí)行了");
  driver.get(http://blog.ifeng.com);
  driver.findElement(By.id("username")).sendKeys("itest20");
  driver.findElement(By.id("password")).sendKeys("123456");
  driver.findElement(By.xpath("//input[@value='登錄']")).click();
  driver.navigate().refresh();
 }
 //驗證標題是否為空
 @Test(dependsOnMethods = { "login" })
 public void noSubject() throws InterruptedException{
  System.out.println("noSubject開始執(zhí)行了");
  driver.get(http://blog.ifeng.com);
  String originalHandle = driver.getWindowHandle();
  driver.findElement(By.linkText("發(fā)表博文")).click();
  for(String winHandle: driver.getWindowHandles()){
   if(winHandle!=originalHandle)
    driver.switchTo().window(winHandle);
   driver.manage().window().maximize();
  }
  Thread.sleep(2000);
  Assert.assertTrue(FindElement.isElementExist(driver, By.id("saveArticle")));
  driver.findElement(By.id("saveArticle")).click();
  //判斷當標題為空時提示是否正確
  boolean expected = true;
  boolean actual = (driver.findElement(By.id("blog_tishi")).getText()).endsWith("請?zhí)顚懳恼聵祟}");
  Assert.assertEquals(actual, expected, "標題為空");
  Thread.sleep(3000);
 }
 //驗證內(nèi)容是否為空
 @Test(dependsOnMethods = { "noSubject" })
 public void noContent() throws InterruptedException{
  System.out.println("noContent開始執(zhí)行了");

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