您的位置:首页 > 其它

TestNg第一天:testNg的简单介绍

2016-09-08 23:59 197 查看

TestNg介绍

是一框架,选择testNg的原因如下:

注解可以帮助我们来组织使测试更容易

灵活的测试配置

测试例可以更容易地进行分组

可以使用TestNG实现测试并行

支持数据驱动测试

首先看一看TestNg的注解

@BeforeSuite: 被注解的方法将只在这个套件中的所有测试运行之前运行一次。

@AfterSuite: 被注解的方法将只在这个套件中的所有测试都运行后,运行一次。

@BeforeClass : 带注解的方法将只调用在当前类中的第一测试方法之前运行一次。

@AfterClass : 带注解的方法将仅在当前类中的所有的测试方法已经被执行之后运行一次。

@BeforeTest : 属于类<测试>中的任何测试方法标记运行之前被注解的方法将被运行。

@AfterTest : 被注解的方法都将属于该类别的<测试>标签内的测试方法运行后运行。

@BeforeGroups : 这种配置方法,将之前运行的组的列表。此方法是保证属于任何这些基团的被调用的第一测试方法之前短暂运行

@AfterGroups : 这种配置方法,将后运行的组的列表。这个方法保证了属于任何这些基团的被调用的最后一个测试方法之后不久运行。

@BeforeMethod : 被注解的方法将每个测试方法之前运行。

@AfterMethod : 被注解的方法将每个测试方法之后运行

@DataProvider : 标记的方法为测试方法提供数据;被注解的方法必须返回一个Object[] [],其中每个Object []对象可以分配的测试方法的参数列表;想从这个DataProvider接收数据的@Test方法需要使用dataProvider名称等于这个注解的名字。

@Factory : 将方法标记为一个工厂,返回将使用了TestNG作为测试类的对象。该方法必须返回一个Object[]。

@Listeners : 定义了一个测试类监听器。

@Parameters : 介绍了如何将参数传递到一个方法@Test。

@Test : 标志着一个类或方法作为测试的一部分。

代码举例

package com.testNg.meituan;
/**
* Created by hejian on 16/9/9.
*/
import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.AfterSuite;
public class TestNgAnnation {
// test case 1

@Test
//第五:先运行此测试方法,标志着一个类或方法作为测试的一部分
public void testCase1() {
System.out.println("//第五:先运行此测试方法,in test case 1");
}
// test case 2
@Test
public void testCase2() {
System.out.println("in test case 2");
}
@BeforeMethod
//第四:注解的方法将每个测试方法之前运行
public void beforeMethod() {
System.out.println("第四:注解的方法将每个测试方法之前运行,in beforeMethod");
}
@AfterMethod
//第六:被注解的方法将每个测试方法之后运行
public void afterMethod() {
System.out.println("第六:被注解的方法将每个测试方法之后运行,即testCase1运行后,运行此方法,in afterMethod");
}
@BeforeClass
//第三:只调用在当前类中的第一测试方法之前运行一次
public void beforeClass() {
System.out.println("第三:此方法被调用,in beforeClass");
}
@AfterClass
//第八:带注解的方法将仅在当前类中的所有的测试方法已经被执行之后运行一次。
public void afterClass() {
System.out.println("第八:in afterClass");
}
@BeforeTest
//第二:任何测试方法标记运行之前被注解的方法将被运行
public void beforeTest() {
System.out.println("第二步:此方法是被运行");
}
@AfterTest
//第九:带注解的方法将仅在当前类中的所有的测试方法已经被执行之后运行一次
public void afterTest() {
System.out.println("第九:带注解的方法将仅在当前类中的所有的测试方法已经被执行之后运行一次,in afterTest");
}
@BeforeSuite
//第一:在这个套件中的所有测试运行之前运行一次
public void beforeSuite() {
System.out.println("第一步:" + "这个方法首先运行");
}
@AfterSuite
//第十:注解的方法将只在这个套件中的所有测试都运行后,运行一次
public void afterSuite() {
System.out.println("第十步:注解的方法将只在这个套件中的所有测试都运行后,运行一次,in afterSuite");
}
}


注:上述的带beforeMethod注解的方法及带afterMethod注解的方法运行了两次,因有两个@test的测试方法:testCase1,testCase2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  测试 框架 数据