qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          解決TestNG測試用例依賴性的問題

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

            1. 給用例加編號:

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

            2. 加上關鍵字

            硬依賴的例子:

          @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開始執行了");
            driver.get(http://blog.ifeng.com);
            driver.findElement(By.id("username")).sendKeys("itest20");
            driver.findElement(By.id("password")).sendKeys("123456");
            driver.findElement(By.xpath("http://input[@value='登錄']")).click();
            driver.navigate().refresh();
           }
           //驗證標題是否為空
           @Test(dependsOnMethods = { "login" })
           public void noSubject() throws InterruptedException{
            System.out.println("noSubject開始執行了");
            driver.get(http://blog.ifeng.com);
            String originalHandle = driver.getWindowHandle();
            driver.findElement(By.linkText("發表博文")).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("請填寫文章標題");
            Assert.assertEquals(actual, expected, "標題為空");
            Thread.sleep(3000);
           }
           //驗證內容是否為空
           @Test(dependsOnMethods = { "noSubject" })
           public void noContent() throws InterruptedException{
            System.out.println("noContent開始執行了");

          posted on 2013-08-14 10:25 順其自然EVO 閱讀(270) 評論(0)  編輯  收藏 所屬分類: selenium and watir webdrivers 自動化測試學習

          <2013年8月>
          28293031123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 奉节县| 全州县| 湘阴县| 吉林市| 江山市| 东城区| 武胜县| 陈巴尔虎旗| 金沙县| 扬州市| 荣成市| 华阴市| 苏州市| 堆龙德庆县| 缙云县| 祁东县| 毕节市| 南华县| 会东县| 独山县| 翁源县| 五莲县| 右玉县| 交口县| 安吉县| 同仁县| 遂宁市| 锡林浩特市| 白河县| 都昌县| 三都| 玉山县| 邯郸市| 尼勒克县| 什邡市| 靖边县| 锡林郭勒盟| 宁乡县| 麻阳| 枣庄市| 祁东县|