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