一、TestNG介绍
我之前有学习过Junit,Nunit 这些工具,现在想看看TestNG,那么TestNG是什么呢?他们之间有什么区别呢?
TestNG(Next Generation)是一个测试框架,它受到JUnit和NUnit的启发,而引入了许多新的创新功能,如依赖测试,分组概念,使测试更强大,更容易做到。 它旨在涵盖所有类别的测试:单元,功能,端到端,集成等…(简而言之,就是TestNG是Java中的一个测试框架, 类似于JUnit 和NUnit, 功能都差不多, 只是功能更加强大,使用也更方便,Java中已经有一个JUnit的测试框架了。 TestNG比JUnit功能强大的多。测试人员一般用TestNG来写自动化测试。开发人员一般用JUnit写单元测试。)
区别:
1)三者都是独立于测试框架,在市场上都可以免费得到。
2)TestNG和Junit在JAVA上使用,Nunit在C#上使用
3)Junit是Eclipse自带工具,TestNG需要自己安装插件
4)相对TestNG而言,Junit的注释很少
5)Junit不能生成html格式报告,TestNG能生成丰富的html报告
既然是学习Test NG,这边也简单介绍一下TestNG的特点。
TestNG的特点
1)注释,很多注释提供
2)支持数据驱动测试(@DataProvider)
3)支持变量
4)自动生成测试报告
5)通过配置testng.xml,我们可以只执行测试失败的用例,可以说非常好了
6)支持很多IDE工具(Eclipse等)
7)默认JDK支持监控运行和日志
8)独立的程序服务器测试方法(API)
二、TestNG在Eclipse上的安装配置
我用的Eclipse是Version: Oxygen.3a Release (4.7.3a)。里面好像自带了testNG(不记得是不是之前自己装过了),安装也很简单。
步骤一,打开Eclipse,点击Help-Install New Software
步骤二:打开浏览器,输入testng官网:http://testng.org/doc/download.html
找到下图,拷贝红框url到Eclipse中需要输入站点那个界面上。
然后点击Add,再点击TestNG就好了,next,finish就好了。
安装完成之后,重启Eclipse,选择一个包鼠标右键,如果看到底部倒数第二项有TestNG这个菜单,说明安装成功。
三、TestNG测试运用
在一个包下,鼠标右键,点击TestNG,然后选择Create TestNG class
默认TestNG没有添加到当前项目的lib中,需要安装如图添加。
注意:在BeforeClass中写启动浏览器脚本。在AfterClass中写退出浏览器代码,在@Test中写我们测试脚本,可以添加多个@Test的测试函数。
下面是我写的测试脚本,
package Test;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeClass;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterClass;
public class FirstTestNG {
WebDriver driver;
@Test
public void OpenBaidu() {
driver.get("https://www.baidu.com");
driver.findElement(By.id("kw")).sendKeys("Selenium");
driver.findElement(By.id("su")).click();
}
@BeforeClass
public void beforeClass() {
driver=new FirefoxDriver();
driver.manage().window().maximize();
}
@AfterClass
public void afterClass() {
driver.quit();
}
}
可以右键Run as -TestNG test,运行结果控制台输出如下: