使用 Selenium 和 TestNG 進行編程式測試(3)

發表于:2011-09-19來源:未知作者:領測軟件測試網采編點擊數: 標簽:selenium
driver.waitForPageToLoad(10000); assertEquals(driver.getText(success), The widget book-01 was successfully created., test didnt return expected message); } @Parameters({aut-addr}) @Test public void ve

  driver.waitForPageToLoad("10000");

  assertEquals(driver.getText("success"),

  "The widget book-01 was successfully created.",

  "test didn't return expected message");

  }

  @Parameters({"aut-addr"})

  @Test

  public void verifyCreationError(String appPath) throws Exception {

  driver.open(appPath + "/CreateWidget.html");

  driver.type("widget", "book-02");

  driver.select("type", "book");

  //definition explicitly set to blank

  driver.type("definition", "");

  driver.click("submit");

  driver.waitForPageToLoad("10000");

  assertEquals(driver.getText("failure"),

  "There was an error in creating the widget.",

  "test didn't return expected message");

  }

  @AfterClass

  private void stop() throws Exception {

  driver.stop();

  }

  }

  目前為止,我已經定義了兩種足夠靈活的 Selenium 測試,可以對多個瀏覽器進行測試,并且還可以對多個位置進行測試,這對初學者非常有利。盡管如此,我還想獲得更高級點的應用,我開始考慮測試中的邏輯是否可重復使用。比如,如果對一行運行兩次 CreateWidgetUATest 測試類會怎樣?如何確保我的 Web 應用程序運行的是本地機器(或其他機器)上最新版本的代碼?

  可重復的驗收測試

  在執行 Selenium 測試時,必須運行 Selenium 服務器以及要檢驗的 Web 應用程序。言外之意,還必須運行應用程序中所有相關的架構依賴關系 —— 對于大多數 Java™ Web 應用程序來說,即 Servlet 容器和相關的數據庫。

  正如在我的另一篇文章 repeatable system tests 中解釋的一樣,DbUnit 和 Cargo 是兩種我最喜歡的技術,可以在依賴數據庫的 Web 應用程序中實現邏輯重復。DbUnit 管理數據庫中的數據,而 Cargo 使容器管理以通用的方式實現自動化。下面幾節將向您展示如何結合使用 Selenium 和 TestNG 從而確保實現邏輯重復的驗收測試。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97