如果測試用例間有依賴性,也是如果想執(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í)行了");