前言

上一篇博客说了TestNG的注解,这篇博客来介绍Test.xml文件。

Test.xml文件可以更方便的管理和执行测试用例

一、Test.xml-suite:

suite为Test.xml的根节点

@name: suite的名称,必须参数,会体现在测试报告中。
@parallel:是否多线程并发运行测试
@configfailurepolicy:一旦Before/After Class/Methods这些方法失败后,是继续执行测试还是跳过测试;可选值 (skip | continue),默认"skip"
@skipfailedinvocationcounts:是否跳过失败的调用,可选值(true | false),默认"false"
@object-factory:一个实现IObjectFactory接口的类,用来实例测试对象
@preserve-order:顺序执行开关,可选值(true | false) "true"
@group-by-instances:是否按实例分组,可选值(true | false) "false"

二、Test.xml-test:

@name:test的名字,必选参数,会体现在测试报告中。
@parallel:是否多线程并发运行测试
@enabled:设置当前test是否生效,可选值(true | false),默认"true"
@skipfailedinvocationcounts:是否跳过失败的调用,可选值(true | false),默认"false"
@preserve-order:顺序执行开关,可选值(true | false) "true"
@group-by-instances:是否按实例分组,可选值(true | false) "false"

三、全局参数Parameter

此属性在xml文件不是非必要的属性,如果测试用例中有使用@Parameter定义的参数,则需要填写此属性。

xml文件

<parameter name="url" value="https://www.baidu.com" />
<parameter name="data" value="全局变量" />

测试用例

@Parameters({"url","data"})
@Test
public void test_case2_1(String url,String data){}

四、调用测试方法

调用测试类:执行com.selenium.TestNGcase.testcase2类中所有@Test方法

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Selenium-测试脚本集" parallel="none"> <test name="Selenium+TestNG">
<classes>
<!-- 执行中的所有@test方法 -->
<class name="com.selenium.TestNGcase.testcase2" />
</classes>
</test>
</suite>

调用测试类中的具体方法:执行com.selenium.TestNGcase.testcase2类中方法名为test_case_2_1的测试方法

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Selenium-测试脚本集" parallel="none"> <test name="Selenium+TestNG">
<classes>
<class name="com.selenium.TestNGcase.testcase2">
<methods>
<include name="test_case_2_1"></include>
</methods>
</class>
</classes>
</test>
</suite>

组测试

xml文件

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Selenium-测试脚本集" parallel="none">
<test name="Selenium+TestNG">
<groups>
<run>
<include name = "yuhao" />
</run>
<classes>
<class name = "com.selenium.TestNGcase.testcase2" />
</classes>
</groups>
</test>
</suite>

测试用例

@Test(groups="yuhao")
public void test_case2_1(String url,String data) throws InterruptedException{ } @Test(groups="yuhao")
public void test_case2_2(){
System.out.println("test_case2_2");
}

五、Suite-files

由于testng.xml中只能设置一个<suite>标签,通过<suite-files >标签可以实现允许多个测试集一起执行。

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Selenium"> <suite-files>
<!--模块1-->
<suite-file path="TestNG_1.xml"></suite-file> <!--模块2-->
<suite-file path="TestNG_2.xml"></suite-file> </suite-files> </suite>

TestNG系列(三)TestNG之XML文件配置的更多相关文章

  1. TestNG(十五)xml文件实现多线程测试

    package com.course.testng.thread; import org.testng.annotations.Test; public class ThreadOnXml { @Te ...

  2. 在MFC程序中使用XML文件配置工具栏

    现在我发现使用Visual Studio的资源编辑器进行编辑资源有着诸多的不便:首先是任何资源的变动一般变动代码,不利于系统维护,其次Visual Studio的资源编辑器的本身的功能有限,也不利于界 ...

  3. web.xml 文件配置01

    web.xml 文件配置01   前言:一般的web工程中都会用到web.xml,方便开发web工程.web.xml主要用来配置Filter.Listener.Servlet等.但是要说明的是web. ...

  4. Spring框架入门之基于xml文件配置bean详解

    关于Spring中基于xml文件配置bean的详细总结(spring 4.1.0) 一.Spring中的依赖注入方式介绍 依赖注入有三种方式 属性注入 构造方法注入 工厂方法注入(很少使用,不推荐,本 ...

  5. springmvc 项目完整示例07 设置配置整合springmvc springmvc所需jar包springmvc web.xml文件配置

    前面主要是后台代码,spring以及mybatis的整合 下面主要是springmvc用来处理请求转发,展现层的处理 之前所有做到的,完成了后台,业务层和持久层的开发完成了 接下来就是展现层了 有很多 ...

  6. Spring整合Hibernate的XML文件配置,以及web.xml文件配置

    利用Spring整合Hibernate时的XML文件配置 applicationContext.xml <?xml version="1.0" encoding=" ...

  7. mybatis mapper xml文件配置resultmap时,id行和result行有什么区别?

    mybatis mapper xml文件配置resultmap时,id行和result行有什么区别? <resultMap id = "CashInvoiceMap" typ ...

  8. idea的spring整合基于xml文件配置的mybatis报Invalid bound statement (not found): com.music.dao.MusicDao.findAll的问题

    一. 题主当时就是自己尝试整合spring和mybatis的时候遇到了这个问题,当时题主只看到了用注解的方式配置的dao层,题主用的是xml文件配置的形式, 而且坑爹的是题主的两个文件的路径写的也不一 ...

  9. maven spark Scala idea搭建maven项目的 pom.xml文件配置

    1.pom.xml文件配置,直接上代码. <?xml version="1.0" encoding="UTF-8"?> <project xm ...

随机推荐

  1. WorkFlow三:配BO对象,事件触发工作流

    1.新建个BO对象的字段. 2.新建取数函数: 3.运行事物代码SWO1新建BO对象. 4.新建关键字段: 5.新建BO对象的事件: 6.添加处理方法: 6.调整对象状态,这里是本地对象,不需要释放, ...

  2. Mysql查漏补缺笔记

    目录 查漏补缺笔记2019/05/19 文件格式后缀 丢失修改,脏读,不可重复读 超键,候选键,主键 构S(Stmcture)/完整性I(Integrity)/数据操纵M(Malippulation) ...

  3. 轻量级.Net ORM SqlSuger项目实战

    SqlSuger,清垃圾ORM实战例子. //添加引用 using SqlSugar; //在构造函数中实例化SqlSuger clinet = new SqlSugarClient(new Conn ...

  4. cephfs测试中出现的问题

    最近重新对cephfs进行性能测试. 测试步骤: (1) 选取一个特地版本的操作系统内核,挂载20000个客户端; (2) 用iozone中的fileop工具,在每隔挂载点上都跑一个fileop进程; ...

  5. ubuntu18 安装坑点记录(华硕飞行堡垒)

    环境 电脑:华硕飞行堡垒FX53VD 显卡:集成显卡+NVIDIA显卡(linux版本很不友好) 镜像:ubuntu18.04.3 LTS 准备安装 * 制作启动盘(百度) * 设置U盘启动项:按F2 ...

  6. Eric6安装问题解决

    按照http://eric-ide.python-projects.org/eric-download.html中的说明,执行命令:python install.py 却遇到下面的问题: Compil ...

  7. django modelformse批量编辑 查询学生班级成绩

    复习先知 关于三张表的编辑学生成绩在跨表查询的对象查询种,只能通过找到两张表的关联的对象,进行跨表,就是在一对多或多对多的模型找到他们俩的class_id或student_id在关联时,会通过他们找到 ...

  8. Java多线程编程核心技术-第1章-Java多线程技能-读书笔记

    第 1 章 Java 多线程技能 本章主要内容 线程的启动 如何使线程暂停 如何使线程停止 线程的优先级 线程安全相关的问题 1.1 进程和多线程的概念及线程的优点 进程是操作系统结构的基础:是一次程 ...

  9. 微信公众平台iPhone版内测开始了

    5月9日晚些时候自媒体人收到了微信公众平台iPhone版的内测邀请,微信公众平台iPhone版可在手机上写图文,快速查看并回复粉丝消息.留言和赞赏,新建群发.查看群发历史和今日数据,这些功能很实用了, ...

  10. tornado表单和模板

    模板渲染,指定模板路径: app = tornado.web.Application( handlers=[(r'/my', Myrequest),('/myweb',MywebRequest)], ...