测试套件是用于测试软件程序的行为或一组行为的测试用例集合。

在TestNG中,我们无法在测试源代码中定义一个套件,但它可以由一个XML文件表示,可以灵活配置要运行的测试。

套件用<suite>标签定义,可以包含一个或多个测试类,用<test>标签定义

下面演示了一个测试套件的xml文件中包含多个<test>:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<!-- suite为根标签,一个testng.xml中只有一个suite节点 -->
<suite name="suiteTest">
<!-- 一个suite下面有N个test标签 -->
<test verbose="2" preserve-order="true" name="login">
<classes>
<class name="com.janson.suite.SuiteConfig"/>
<class name="com.janson.suite.LoginTest"/>
</classes>
</test>
<test verbose="2" preserve-order="true" name="pay">
<classes>
<class name="com.janson.suite.SuiteConfig"/>
<class name="com.janson.suite.PayTest">
<!-- 只执行该类下面的某个方法 -->
          <!-- exclude标签会排除某个方法 -->
<methods>
<include name="weiXinPay"/>
</methods>
</class>
</classes>
</test>
</suite>

com.janson.suite.SuiteConfig类

import org.testng.annotations.*;

public class SuiteConfig {
@BeforeSuite
public void beforeSuite() {
System.out.println("beforeSuite运行");
} @AfterSuite
public void afterSuite() {
System.out.println("afterSuite运行");
} @BeforeTest
public void beforeTest() {
System.out.println("beforeTest运行");
} @AfterTest
public void afterTest() {
System.out.println("afterTest运行");
}
}

com.janson.suite.LoginTest类:

package com.janson.suite;

import org.testng.annotations.Test;

public class LoginTest {
@Test
public void loginTaobao() {
System.out.println("淘宝登录成功!");
}
}

com.janson.suite.PayTest类

package com.janson.suite;

import org.testng.annotations.Test;

public class PayTest {
@Test
public void alipay() {
System.out.println("支付宝支付成功!");
} @Test
public void weiXinPay() {
System.out.println("微信支付成功!");
}
}

在suiteTest.xml中右击,run...

执行结果如下:

beforeSuite运行
beforeTest运行
淘宝登录成功!
afterTest运行
beforeTest运行
微信支付成功!
afterTest运行
afterSuite运行

TestNG套件测试(一)的更多相关文章

  1. TestNG套件测试

    TestNG套件测试 测试套件的测试是为了测试软件程序的行为或一系列行为的情况下,是一个集合.在TestNG,我们不能定义一套测试源代码,但它代表的套件是一个XML文件执行特征.这也允许灵活的配置要运 ...

  2. TestNG套件测试(二)

    在xml中指定要运行的整个包来执行套件测试 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...

  3. TestNG系列之二:TestNG套件测试

    测试套件的测试是为了测试软件程序的行为或一系列行为的情况下,是一个集合.在TestNG,我们不能定义一套测试源代码,但它代表的套件是一个XML文件执行特征.这也允许灵活的配置要运行的测试.套件可以包含 ...

  4. testng入门教程5TestNG套件测试

    TestNG套件测试 测试套件的测试是为了测试软件程序的行为或一系列行为的情况下,是一个集合.在TestNG,我们不能定义一套测试源代码,但它代表的套件是一个XML文件执行特征.这也允许灵活的配置要运 ...

  5. Java自动化测试框架-10 - TestNG之测试结果篇

    1.-测试结果 1.1-成功,失败和断言 测试被认为是成功的,如果它不引发任何异常完成,还是它扔的预期异常(请参阅文档expectedExceptions属性上找到的@Test注释). 您的测试方法通 ...

  6. TestNG之测试执行后没有生成默认测试报告(IDEA)

    使用IDEA+TestNG进行测试,没有生成 测试报告,是因为没有勾选监听器使用默认报告,具体操作如下: “Run” -> "Edit Configurations" -&g ...

  7. TestNG 搭建测试框架 自动化测试

    框架层级及基本组件:    参考:https://www.cnblogs.com/jier888/p/8998724.html Java作为开发语言 Maven管理项目及Jar包 Testng作为测试 ...

  8. Junit 4.x 单元测试,参数化测试,套件测试 实例

    对下面三个类进行单元测试 ,组成套件测试. public class Calculate { public int add(int a, int b) { return a + b; } public ...

  9. JUnit套件测试实例

    “套件测试”是指捆绑了几个单元测试用例并运行起来.在JUnit中,@RunWith 和 @Suite 这两个注解是用来运行套件测试. 下面的例子演示这两个单元测试:JunitTest1 和 Junit ...

随机推荐

  1. java7中使用透明时与输入法冲突

    在Stackoverflow的这找到了答案,需要设置一下系统参数: static { System.setProperty("sun.java2d.noddraw", " ...

  2. [置顶][终极精简版][图解]Nginx搭建flv mp4流媒体服务器

    花了我接近3周,历经了重重问题,今日终于把流媒体服务器搞定,赶紧的写个博文以免忘记... 起初是跟着网上的一些教程来的,但是说的很不全面,一些东西也过时不用了(比如jwplayer老版本).我这次是用 ...

  3. php 批量检测bom头,去除bom头工具

    <?php //有些php文件由于不小心保存成了含bom头的格式而导致出现一系列的问题.以下是批量清除bom头的代码 if (isset ( $_GET ['dir'] )) { //confi ...

  4. 服务器出现 nginx 502 Bad Gateway

    发生原因1.PHP FastCGI进程数不够用 当网站并发访问巨大时,php fastcgi的进程数不有一定的保障,因为cgi是单线程多进程工作的,也就是说cgi需要处理完一个页面后再继续下一个页面. ...

  5. 第八届河南省省赛 A.挑战密室

    挑战密室 时间限制: ms | 内存限制: KB 难度: 描述 R组织的特工Dr. Kong 为了寻找丢失的超体元素,不幸陷入WTO密室.Dr. Kong必须尽快找到解锁密码逃离,否则几分钟之后,WT ...

  6. 微信小程序资源

    1.http://blog.csdn.net/wyx100/article/details/52667518 2.http://mp.weixin.qq.com/s?__biz=MzIyMDM2Mjg ...

  7. ACM_求补集的交集

    求补集的交集 Time Limit: 2000/1000ms (Java/Others) Problem Description: 给定一个集合,然后再给出两个该集合的子集,求他们对应补集的交集. I ...

  8. 每天学点Linux命令:倒叙打印文件第二行的前100个大写字母

    sed -n | rev 处理第二行             grep:提取大写字母   o: 不显示非结果  tr:删除换行   Cut:截取1-100个字符  rev:逆序 断断续续搞了好长时间. ...

  9. (二)Mybatis总结之通过Dao层与数据交互

    Mybatis概述 定义: Mybatis是一个支持普通sql查询,存储过程和高级映射的优秀持久层框架. Mybatis是(半自动的)跟数据库打交道的orm(object relationship m ...

  10. JavaScript Json与Map互转以及Map对象的取值方式

    Json格式(Json字符串) : var json='{"name": "lily","age":"15"}' Map ...