Java - Test - TestNG: testng.xml 简介
1. 概述
- 简介 testng.xml 中的格式, 元素
2. 背景
testng.xml
- 概述
- 测试套件 的配置文件
- 概述
问题
- 一下生成了那么多内容
- 我有点看不懂
- 一上来就看不懂, 其实很正常, 慢慢说
- 一下生成了那么多内容
3. 环境
ide
- idea
- 2018.2
- idea
配置文件
- testng.xml
测试类
- TestClass
- 有至少一个测试方法
- public
- void
- @Test
- 这个我就不细说了
- 这个算是基础吧, 需要有点
- TestNG 入门教程
- 知名博主小坦克的 testng 教程
- 他写的比我好, 如果看他的能明白, 就不用来找我了...
- 知名博主小坦克的 testng 教程
- 而且这次, 主要是讲的 testng.xml 文件
- java 类里的注解, 后面有机会会提到
- 有至少一个测试方法
- TestClass
4. 配置文件
自动生成的文件, 内容如下, 我简单做了些调整, 影响不大
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="All Test Suite">
<test verbose="2" preserve-order="true" name="test 1">
<classes>
<class name="com.test.TestClass"/>
</classes>
</test>
</suite>
4. 元素解释
xml 抬头
概述
- 这玩意, 我也不知道比较正式的, 该怎么叫
- 头两行
格式
- testng.xml 的头两行, 固定是这个内容
内容
- 约定 xml 版本
- 约定文件编码
- 指定 dtd 属性
- 其实上面三个也是不太细致的了解
- 这些我也不太懂, 就不说得太细
suite
概述
- 测试套件
本质
- testng.xml 的根元素
- 一个 testng.xml 文件, 只能有一个
- 多了会报错
- 一个 testng.xml 文件, 只能有一个
- before/after
- 有专门的 before 和 after 方法支持
- 子元素
- 一个 测试套件 里, 可以包含多个 测试
- testng.xml 的根元素
属性
name
- 必填项
其他选填项
- 后面再做介绍
test
概述
- 测试
本质
- 一组测试
- 这个在结果的报告里, 都会有划分
- before/after
- 有专门的 before 和 after 方法支持
- 子元素
- 一个 test 下可以有 多种子元素
- 测试范围相关
- packages
- classes
- groups
- 其他元素
- 暂略
- 测试范围相关
- 一个 test 下可以有 多种子元素
- 一组测试
属性
verbose
- 日志级别
- 1 到 10
- 值越大, 越详细
- 日志级别
preserve-order
- 暂时不懂
name
- 必填项
- 测试名称
classes
概述
- 类组
本质
- 一个 类组
- 包含多个类
- before/after
- 有专门的 before 和 after 方法支持
- 子元素
- class
- 一个 类组
属性
- 无
class
概述
- 类
本质
- 一个类
- 可能包含多个方法
- 这里没有列出来
- 可能包含多个方法
- before/after
- 有专门的 before 和 after 方法支持
- 子元素
- method
- 其他
- 一个类
5. 关系整理
概述
- 之前整理了下 testng.xml 中的元素
- 现在准备简单整理下这些元素的关系
- 元素的属性暂时忽略
思路上的疑问
- ps 里简单记录下, 这里不是重点
- 记录了我为啥要这么讲
- ps 里简单记录下, 这里不是重点
整理
根元素 suite
- 测试根元素
- 只能有一个
- 子元素是 test
>= 1
test
- 测试
- 子元素类型比较多
- packages
- 用 包 来划分执行范围
- classes
- 用 类 来划分执行范围
- groups
- 用 分组 划分执行范围
- packages
package
- 包
- packages 的子元素
- packages 可以有多个 package
- 元素
- package
- 具体的包
- 子元素以后讲
- package
class
- 包
- classes 的子元素
- classes 可以有多个 class
- 元素
- class
- 具体的类
- 子元素以后讲
- class
group
- 包
- groups 的子元素
- groups 可以有多个 group
- 元素
- group
- 具体的方法分组
- 子元素以后讲
- group
简单说
- suite 是根元素, 全局唯一
- test 是测试, suite 直接子元素, 可以有多个
- test 划分范围方式主要有三种
- packages 划分
- classes 划分
- groups 划分
- 其他的细分, 属性等, 以后再拓展
ps
ref
后续
- 简单介绍下 testng 的一些情况
整理疑问
- 其实这块我也不知道怎么讲, 会比较顺畅
内容
- 元素内容
- 元素关系
本来我想先讲关系
- 但是感觉这个关系的模型, 对一般人来说, 可能会不太好说
本来 package, class, method 这个模型, 大家还是很熟悉
但是, 这里有多了几个 概念
- suite
- test
- packages
- classes
- groups
- group
- include
- exclude
- run
感觉想把这些概念一下插入进去, 真的不太现实
- 但是感觉这个关系的模型, 对一般人来说, 可能会不太好说
后来的思路成了这样
- 生成配置
- 当然是个最简答的配置
- 描述元素
- 简单介绍下各个元素
- 这些东西应该不难的
- 串联关系
- 将元素的关系串联起来
- 简单形成一个体系
- 主键加深
- 一步一步将内容加深
- 添加新元素
- 添加新属性
- 一步一步将内容加深
- 生成配置
- 其实这块我也不知道怎么讲, 会比较顺畅
后续
testng.xml
- package
- class
- group
注解
- 这个东西, 也需要总结的
时隔半年回来, 又看了看自己写的东西
- 感觉并不是 那么满意
- 我的出发点, 是 教程
- 但是结果, 却写成了一个类似 字典 的东西, 光顾着整理知识, 而忽略了 教程 的理解, 引导, 循序渐进
- 有点想 重写 的冲动...
- 感觉并不是 那么满意
Java - Test - TestNG: testng.xml 简介的更多相关文章
- Java自动化测试框架-12 - TestNG之xml文件详解篇 (详细教程)
1.简介 现在这篇,我们来学习TestNG.xml文件,前面我们已经知道,TestNG就是运行这个文件来执行测试用例的.通过本篇,你可以进一步了解到:这个文件是配置测试用例,测试套件.简单来说,利用这 ...
- testng的xml文件说明(TestNG DTD)
testNG启发自JUnit和NUnit的一种测试框架,通过使用testNG使的测试更简单.,比如如下的一些特点: 1.通过注释来管理测试 2.多线程并发执行测试,且是安全的 3.支持数据驱动测试 4 ...
- Java+maven+selenium3+testng 自动化测试环境IDEA
idea .java环境变量jdk maven安装及环境变量配置这里就不多说了,网上有很多教程 这里我们只检测一下java.maven环境是否安装成功 win+R,运行cmd命令行:mvn -v ...
- java 测试框架 TestNG
Java中print.printf.println的区别 printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 print就是一般的标准输出,但是不换行 println和prin ...
- Exception in thread "main" java.lang.NoSuchMethodError: org.testng.TestNG.configure(Lorg/testng/CommandLineArgs;)V
TestNG运行时报以下错误: Exception in thread "main" java.lang.NoSuchMethodError: org.testng.TestNG. ...
- jenkins通过maven指定testng的xml文件,并给testng代码传参
1.jenkins设置参数化构建,设置要传的参数名和值 2.指定testng的xml文件,在jenkins的输入以下 3.在pom.xml文件分别引用jenkins的参数,设置两个property & ...
- Ant中批量调用TestNG的XML文件,并调用TestNgXlst生成漂亮的html测试报告
from:http://blog.csdn.net/bwgang/article/details/7865184 1.在Ant中设置如下: <target name="run_test ...
- 使用XStream是实现XML与Java对象的转换(1)--简介及入门示例
一.简单介绍 XStream是thoughtworks开发的开源框架,用于实现XML数据于Java对象.Json数据的转换.它不需要schema或其他的mapping文件就可以进行java对象和xml ...
- testNG jar包启动找不到org.testng.TestNG
主要是因为打包时依赖的jar包没有打入,网上有很多需要将对应的jar单独拷贝出来然后通过classpath引用启动,但是感觉这个就是个无底洞.拷贝了这么多个包最后还是说找不到ObjectId 启动命令 ...
- Java中的的XML文件读写
XML简介 要理解XML,HTML等格式,先来理解文档对象模型DOM 根据 DOM,HTML 文档中的每个成分都是一个节点,这些节点组成了一棵树.DOM 是这样规定的:整个文档是一个文档节点每个 HT ...
随机推荐
- Python-Django学习笔记(三)-Model模型的编写以及Oracle数据库的配置
Django使用的 MTV 设计模式(Models.Templates.Views) 因此本节将围绕这三部分并按照这个顺序来创建第一个页面 模型层models.py 模型是数据唯一而且准确的信息来源. ...
- 牛客CSP-S提高组赛前集训营5 赛后总结
A.无形的博弈 心理题. 答案为\(2^n\),可感性理解结论的正确性. #include<bits/stdc++.h> #define LL long long const LL Mod ...
- centos8 apache+mysql+php
apache安装 dnf install httpd httpd-tools 开机启动 systemctl enable httpd 立即启动 systemctl start httpd 查看状态 s ...
- PHP函数对比 array_merge()与加号合并数组的区别
首先准备两个数组,从数组索引类型分别讨论. 数组索引为字符串索引时: $a = array('a' => 1, 'b' => 2, 'c' => 3); $b = array('b' ...
- AntDesign(React)学习-2 第一个页面
1.前面创建了第一个项目jgdemo,结构如下,使用TypeScript. 2.yarn start启动项目 3.点击GettingStarted是umi的官方网站 https://umijs.org ...
- 《NVMe-over-Fabrics-1_0a-2018.07.23-Ratified》阅读笔记(3)-- 命令
3 命令 Fabrics命令用于创建队列和初始化controller.Fabrics命令的Opcode字段填写0x7F.无论controller是否处于使能状态(CC.EN)Fabrics命令都会被处 ...
- (转)hashmap hashtable 的区别 Hash table 内部的数据结构
转自:http://www.cnblogs.com/carbs/archive/2012/07/04/2576995.html Hashtable 和 HashMap 做为 Map 的基本特性 两者都 ...
- H5Plus 入门学习-Dcloud H5+ API调用实例
使用API Reference完整简单的操作,更多操作查看官方文档. 最后提供项目的下载地址[下载][一款移动APP演示]
- CSS的布局之文档流,与行内/块级元素的延伸
文档流,即(position:stiatic),是html布局机制的默认状态. 文档流在排列的过程中,块级元素从上到下,行内元素,从左到右. ·块级元素 <div> <h系列> ...
- Django REST framework快速入门(官方文档翻译翻译)
开始 我们将创建一个简单的API来允许管理员用户查看和编辑系统中的用户和组. 项目设置 创建一个新的django项目,命名为:<tutorial>,然后创建一个新的应用程序(app),命名 ...