第二章 TestNG环境搭建

     ------Web自动化测试之Webdriver+TestNG--从零到熟练(系列)

TestNG是一个自动化测试框架,要使用这个测试框架编写我们的自动化测试用例,需要先行搭建对应的开发环境。本章我们就讲解WebDriver+TestNG开发环境的搭建。

2.1 环境配置

1,eclipse+jdk的安装

这个是比较基本的环境配置,如果你要使用eclipse开发你的代码,不管你是用java作为开发语言,还是用其他的如python作为开发语言,你都需要搭建这个环境。所以网上有很多Eclipse+jdk环境搭建的文档,在此就不累述了。不过根据需要,下载对应的eclipse版本,在我们这样的使用TestNG框架的应用中,可以下载纯净版的Eclipse。

2,TestNG的安装

去官网download一个TestNG插件,这个工作在eclipse内完成,点击help->install new software,紧接着填上http://beust.com/eclipse,如图2.1所示。

 

2.1 TestNG插件安装

然后选择TestNG,一路next到finish。TestNG插件安装完成后,我们的测试框架就安装成功了。

3,准备测试需要的包

   TestNG+Webdriver框架需要一些相应的jar包支持,在我们编写测试用例之前,先准备好对应的包,具体如下:

(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等版本问题导致的出错,此时就需要根据具体的情况在网上查找解决方案。通过本章的环境搭建,我们已经具备了编写测试用例的环境,下面我们会讲解到相关的知识点,以便提升你的自动化测试的学习。

posted on 2016-01-28 12:33  华安世界  阅读(389)  评论(0编辑  收藏  举报

导航