Testng介绍:
TestNG是Java中的一个测试框架, 类似于JUnit 和NUnit, 功能都差不多, 只是功能更加强大,使用也更方便
Java中已经有一个JUnit的测试框架了。 TestNG比JUnit功能强大的多。 测试人员一般用TestNG来写自动化测试。 开发人员一般用JUnit写单元测试。
官方网站: http://testng.org/doc/index.html
Testng学习地址:http://www.yiibai.com/testng/
1、下载testNG 离线安装包【eclipse-testng离线包】,并解压。 2.将解压后的文件..eclipse-testng离线包features目录下的文件夹
org.testng.eclipse_6.9.8.201510130443放到eclipse安装路径下的features目录下 3.将解压后的文件..eclipse-testng离线包plugins
目录下的文件夹org.testng.eclipse_6.9.8.201510130443放到eclipse安装路径下的plugins目录下 4.重启eclipse 5.验证是否安装成功,
file-->new-->other-->TestNg
2、创建一个Java工程,建立class
1)testng最简单栗子
package com.testng.test1;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
public class testng1class {
@BeforeClass
public void beforeClass() {
System.out.println("this is before class1");
}
@Test
public void TestNgLearn() {
System.out.println("this is TestNG test case1");
}
@AfterClass
public void afterClass() {
System.out.println("this is after class1");
}
}
2)导入testng包
-》testng-》convert to testng,这时候自动给工程建立 testng.xml
在每个测试类 import org.testng.annotations.Test;
@Test 即要使用Testng测试的方法
3)TestNG基本注解
注解 描述
@BeforeSuite 注解的方法将只运行一次,运行所有测试前此套件中。
@AfterSuite 注解的方法将只运行一次此套件中的所有测试都运行之后。
@BeforeClass 注解的方法将只运行一次先行先试在当前类中的方法调用。
@AfterClass 注解的方法将只运行一次后已经运行在当前类中的所有测试方法。
@BeforeTest 注解的方法将被运行之前的任何测试方法属于内部类的 <test>标签的运行。
@AfterTest 注解的方法将被运行后,所有的测试方法,属于内部类的<test>标签的运行。
@BeforeGroups 组的列表,这种配置方法将之前运行。此方法是保证在运行属于任何这些组第一个测试方法,该方法被调用。
@AfterGroups 组的名单,这种配置方法后,将运行。此方法是保证运行后不久,最后的测试方法,该方法属于任何这些组被调用。
@BeforeMethod 注解的方法将每个测试方法之前运行。
@AfterMethod 被注释的方法将被运行后,每个测试方法。
@DataProvider
标志着一个方法,提供数据的一个测试方法。注解的方法必须返回一个Object[] [],其中每个对象[]的测试方法的参数列表中可以分配。
该@Test 方法,希望从这个DataProvider的接收数据,需要使用一个dataProvider名称等于这个注解的名字。
@Factory 作为一个工厂,返回TestNG的测试类的对象将被用于标记的方法。该方法必须返回Object[]。
@Listeners 定义一个测试类的监听器。
@Parameters 介绍如何将参数传递给@Test方法。
@Test 标记一个类或方法作为测试的一部分。
4)执行testng 测试
a、单个类-》run as-》testng test
b、使用testtng.xml 文件执行 case
testng.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="classes" thread-count="3">
<test verbose="2" preserve-order="true" name="TestDebug">
<parameter name="driverName" value="chrome" />
<classes>
<class name="com.testng.test1.testng1class" />
<class name="com.testng.test1.testngclass2" />
<class name="com.httpclient1.testcase.logintest" />
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
执行:对testng.xml -》run as -》testng suite
5)测试报告输出
执行完testng.xml,工程会自动在test-output自动产生测试报告,在浏览器打开index.html即为测试报告