第二章 TestNG環境搭建

     ------Web自動化測試之Webdriver+TestNG--從零到熟練(系列)java

TestNG是一個自動化測試框架,要使用這個測試框架編寫咱們的自動化測試用例,須要先行搭建對應的開發環境。本章咱們就講解WebDriver+TestNG開發環境的搭建。python

2.1 環境配置

1,eclipse+jdk的安裝web

這個是比較基本的環境配置,若是你要使用eclipse開發你的代碼,無論你是用java做爲開發語言,仍是用其餘的如python做爲開發語言,你都須要搭建這個環境。因此網上有不少Eclipse+jdk環境搭建的文檔,在此就不累述了。不過根據須要,下載對應的eclipse版本,在咱們這樣的使用TestNG框架的應用中,能夠下載純淨版的Eclipse。瀏覽器

2,TestNG的安裝框架

去官網download一個TestNG插件,這個工做在eclipse內完成,點擊help->install new software,緊接着填上http://beust.com/eclipse,如圖2.1所示。eclipse

 

2.1 TestNG插件安裝函數

而後選擇TestNG,一路next到finish。TestNG插件安裝完成後,咱們的測試框架就安裝成功了。學習

3,準備測試須要的包測試

   TestNG+Webdriver框架須要一些相應的jar包支持,在咱們編寫測試用例以前,先準備好對應的包,具體以下:ui

(1)httpclient-4.3.6.jar

(2)httpcore-4.3.3.jar

(3)selenium-java-2.43.0.jar

(4)selenium-server-standalone-2.42.2.jar

(5)testng.jar

請將以上包下載下來備用,注意版本號能夠與上面的不一樣,儘可能下載最新的包,不然會與瀏覽器版本相沖突的。

2.2 檢測測試環境

通過咱們上面的三步的準備,測試環境搭建完成,但是具體搭建的如何呢?咱們須要檢測一下。

1,新建一個java project,取一個合適的名字,如Test。並將上面下載的包,附加到工程中。如圖2.2.1所示:

 


圖2.2.1 建立java工程

2,在工程中建立TestNG測試用例。右鍵單擊Test工程的Src文件夾,選擇「new」à「other…」,而後在打開的窗口中選擇「TestNG」—>「TestNG class」,如圖2.2.2所示。

 


圖2.2.2 新建TestNG Class

3,新建TestNG Classic,在彈出的對話框中輸入測試用例名:HelloWorld,並選擇BeforeTest和AfterTest;並在XML suite file後輸入testng.xml。單擊Finish按鈕,則會建立相應該的HelloWorld.java測試用例文件及TestNG的配置文件testng.xml。如圖2.2.3所示:

 


圖2.2.3 建立測試用例文件

4,編寫測試用例代碼。在咱們測試建立的測試用例文件HelloWorld.java中編寫以下代碼:

//HelloWorld.java

package TestCases;

import org.testng.annotations.Test;

import org.testng.annotations.BeforeTest;

import org.testng.annotations.AfterTest;

 

public class HelloWorld {

  @Test

  public void f() {

      System.out.println("Hello World!");

  }

  @BeforeTest

  public void beforeTest() {

      System.out.println("beforeTest running!");

  }

 

  @AfterTest

  public void afterTest() {

      System.out.println("afterTest running!");

  }

 

}

詳解講解:

在主測試函數f()中,輸出咱們經典的字符串「Hello World!」;在beforeTest()函數中輸出「beforeTest running!」 ,在afterTest()函數中輸出「afterTest running!」。咱們這樣作的目的很簡單,就是檢測一下程序輸出是否是咱們預期的。瞭解一下TestNG測試用例的執行流程,以方便咱們後續的測試用例的編寫。

5,運行測試用例。右擊HelloWorld.java文件,而後選擇run asàTestNG Test,而後查看輸出狀況:

 

      輸出順序和咱們預期的同樣,因此,在具體的測試用例編寫過程當中,咱們一般把變量定義或是測試用例的前置操做放到beforeTest()函數中,而對測試使用產生的數據清除或是關閉瀏覽器,放到afterTest()函數中。

到目前爲止,一個簡單的Testng測試用例已經寫完了,咱們也瞭解了TestNG的用例執行順序,但是咱們好像沒有用到Webdriver啊?

6,Webdriver+TestNG測試用例檢測。咱們用Webdriver打開百度,而後能夠根據咱們的須要,作一些兒操做。具體代碼以下:

//HelloWorld.java

package TestCases;

 

import org.testng.annotations.Test;

import org.testng.annotations.BeforeTest;

import org.testng.annotations.AfterTest;

//添加對webdriver的引用

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.firefox.FirefoxDriver;

 

public class HelloWorld {

  @Test

  public void f() throws Exception{

      //System.out.println("Hello World!");

      //建立瀏覽器,並打開百度

      WebDriver driver = new FirefoxDriver();  

      driver.get("http://www.baidu.com");

      //Do anything with baidu what you want!

      Thread.sleep(5000);

      driver.quit();

  }

  @BeforeTest

  public void beforeTest()  {

      System.out.println("beforeTest running!"); 

  }

 

  @AfterTest

  public void afterTest() {

      System.out.println("afterTest running!");

  }

 

}

再次運行HelloWorld.java,就能夠打開火狐瀏覽器,並打開百度網頁,等上5秒鐘後關閉瀏覽器。其實在打開網頁後,你能夠利用Webdriver作任何與具體測試用例相關的操做。固然也會輸出相應的測試信息的,出錯的時候定位出錯位置等。

  

2.3 本章小結

    在本章中咱們講解了TestNG自動化測試環境的搭建,而且編寫了兩個簡單的測試用例來檢測環境是否搭建成功。在環境搭建的過程當中可能會出由於JDK或是Eclipse等版本問題致使的出錯,此時就須要根據具體的狀況在網上查找解決方案。經過本章的環境搭建,咱們已經具有了編寫測試用例的環境,下面咱們會講解到相關的知識點,以便提高你的自動化測試的學習。

相關文章
相關標籤/搜索