------Web自動化測試之Webdriver+TestNG--從零到熟練(系列)java
TestNG是一個自動化測試框架,要使用這個測試框架編寫咱們的自動化測試用例,須要先行搭建對應的開發環境。本章咱們就講解WebDriver+TestNG開發環境的搭建。python
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
請將以上包下載下來備用,注意版本號能夠與上面的不一樣,儘可能下載最新的包,不然會與瀏覽器版本相沖突的。
通過咱們上面的三步的準備,測試環境搭建完成,但是具體搭建的如何呢?咱們須要檢測一下。
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作任何與具體測試用例相關的操做。固然也會輸出相應的測試信息的,出錯的時候定位出錯位置等。
在本章中咱們講解了TestNG自動化測試環境的搭建,而且編寫了兩個簡單的測試用例來檢測環境是否搭建成功。在環境搭建的過程當中可能會出由於JDK或是Eclipse等版本問題致使的出錯,此時就須要根據具體的狀況在網上查找解決方案。經過本章的環境搭建,咱們已經具有了編寫測試用例的環境,下面咱們會講解到相關的知識點,以便提高你的自動化測試的學習。