- 浏览: 174102 次
- 性别:
- 来自: 河北
文章分类
- 全部博客 (142)
- Java (15)
- 编程 (7)
- 操作系统 (4)
- 晴天夜雨 (3)
- 点点滴滴 (16)
- 数据库 (13)
- 测试 (14)
- eclipse (0)
- English study (9)
- 书虫-牛津英汉对照读物(第一级) (7)
- Web笔记 (2)
- 自动化 (2)
- SoapUi (0)
- Jmeter (5)
- Selenium 自动化测试 (21)
- TestNG (7)
- Bug (1)
- REST API (1)
- cURL (1)
- Junit (2)
- 接口测试 (1)
- OWASP (5)
- Python+Robot Framework+Selenium2Library (1)
- Python (0)
- 测试框架 (0)
- Jenkins (0)
- 测试用例 (1)
- 娱乐 (0)
- 驾照 (0)
- Pytest (1)
- git (0)
- Python笔记 (1)
最新评论
-
wuchunjiesp:
...
Project facet Java version 6.0 is not supported. -
天堂有行:
swanky_yao 写道启动:net start mysql ...
mysql编程常用 -
swanky_yao:
启动:net start mysql中止:$MySQL_HOM ...
mysql编程常用 -
天堂有行:
天堂有行 写道fixsmall 写道Mysql insert ...
mysql编程常用 -
天堂有行:
fixsmall 写道Mysql insert 还有一个 i ...
mysql编程常用
简单说明:
测试代码中在需要测试的方法前加上注释符,例如:
XML文件写法
以下详细XML规则
-结-构-树
suite
--tests
----parameters
----groups
------definitions
------runs
----classes
--parameters
**suite元素
suite 是testng.xml文档中最上层的元素
属性: 参数列表(“”中是默认值,CDATA代表字符串)
**suite-files元素
一个XML文档的列表包含更多的suite描述
参数列表
**Parameters元素
Parameters 可以在suite或者test级别被定义.
Parameters 定义在test级别时将覆盖sutie级别的同名参数
Parameters 被用来联系java方法参数的实际值,并在这里定义.
参数列表
**method-selectors元素
方法选择器定义了那些方法要运行,他们必须继承org.testng.IMethodSelector
参数列表:
**script元素
参数列表:
**test元素
一个test包含参数和classes,另外,你可以定义组(组中组)
属性:
属性列表:
**groups元素
定义包含在测试中要运行的组(组中组)
**define元素
属性列表
**include元素
定义组中组
属性列表
**exclude元素
定义排除的组
属性列表
**run元素
定义那些group需要被运行
**dependencies元素
**group元素
属性列表
**classes元素
包含在此次test中的classes列表
**class元素
属性列表:
**packages元素
包含在此次test中的packages列表
**package元素
如果package名字结尾包含.* ,则所有的子包也被包括其中
属性列表:
**methods元素
包含或排除在此次test中的methods列表
**listeners元素
将被传给TestNG的监听列表
**listener元素
属性列表:
测试代码中在需要测试的方法前加上注释符,例如:
package com.yiban.test; public class test2 { @Parameters({ "first-name" }) //参数 @Test(groups={"g1","g2"}) //组名 public void test001() throws Exception { System.out.println("test001"); } }
XML文件写法
<test name="xxxx"> <!-- 参数定义的方法 --> <parameter name="first-name" value="Cedric"/> <!-- groups的用法,前提是需要存在classes的组,否则所有方法不被运行 --> <groups> <!-- 定义组中组的方法 --> <define name="groups_name"> <include name="group1"/> <include name="group2"/> </define> <run> <!-- 此处用组名来区别 --> <inclue name="groups_name" /> <exclue name="groups_name" /> </run> </groups> <!-- classes的用法,classes中包含类名,类名底下可以包含方法名或排除方法名 --> <classes> <class name="class1"> <methods> <!-- 此处用方法名来区别 --> <inclue name="method_name" /> <exclue name="method_name" /> </methods> </class> </classes> </test>
以下详细XML规则
-结-构-树
suite
--tests
----parameters
----groups
------definitions
------runs
----classes
--parameters
**suite元素
suite 是testng.xml文档中最上层的元素
< suite (groups?,(listeners|packages|test|parameter|method-selectors|suite-files)*) >
属性: 参数列表(“”中是默认值,CDATA代表字符串)
name | suite的名字(他会出现在测试报告中) |
junit | 是否以junit模式运行 |
verbose | 在控制台中如何输出,这个设置不影响html版本的测试报告 |
parallel | 是否使用多线程测试(可能加速测试) |
configfailurepolicy | 是否在运行失败了一次后继续尝试或跳过 |
thread-count | 如果设置了parallel,可以设置线程数 |
annotations | 有‘javadoc’的时候寻找,没有的话使用jdk5的注释 |
time-out | 在终止method (如果parallel="methods") 或者test (如果parallel="tests")之前设置以毫秒为单位的等待时间 |
skipfailedinvocationcounts | 是否跳过失败的调用 |
data-provider-thread-count | 提供一个整数线程池的范围为了使用parallel data |
object-factory | 一个继承IObjectFactory的类,被用来实例化测试对象 |
allow-return-values | 如果设置true,将会运行测试用例并返回值 |
< suite name CDATA #必填项 junit (true | false) "false" verbose CDATA #隐含 parallel (false | methods | tests | classes | instances) "false" configfailurepolicy (skip | continue) "skip" thread-count CDATA "5" annotations CDATA #隐含 time-out CDATA #隐含 skipfailedinvocationcounts (true | false) "false" data-provider-thread-count CDATA "10" object-factory CDATA #隐含 group-by-instances (true | false) "false" preserve-order (true | false) "true" allow-return-values (true | false) "false" >
**suite-files元素
一个XML文档的列表包含更多的suite描述
< suite-files (suite-file)* > < suite-file ANY >
参数列表
< suite-file path CDATA #必填项 >
**Parameters元素
Parameters 可以在suite或者test级别被定义.
Parameters 定义在test级别时将覆盖sutie级别的同名参数
Parameters 被用来联系java方法参数的实际值,并在这里定义.
< parameter ANY>
参数列表
< parameter name CDATA #必填项 value CDATA #必填项 >
**method-selectors元素
方法选择器定义了那些方法要运行,他们必须继承org.testng.IMethodSelector
< method-selectors (method-selector*) > < method-selector ((selector-class)*|script) > < selector-class ANY>
参数列表:
< selector-class name CDATA #必填项 priority CDATA #隐含 >
**script元素
< script ANY>
参数列表:
< script language CDATA #必填项 >
**test元素
一个test包含参数和classes,另外,你可以定义组(组中组)
< test (method-selectors?,parameter*,groups?,packages?,classes?) >
属性:
name | test的名字(他会出现在测试报告中) |
junit | 是否以junit模式运行 |
verbose | 在控制台中如何输出,这个设置不影响html版本的测试报告,默认值: suite 级别的verbose |
parallel | 是否使用多线程测试(可能加速测试) |
thread-count | 如果设置了parallel,可以设置线程数 |
annotations | 有‘javadoc’的时候寻找,没有的话使用jdk5的注释 |
time-out | 在终止method (如果parallel="methods") 或者test (如果parallel="tests")之前设置以毫秒为单位的等待时间 |
enabled | 设置是否运行当前test,默认值:true |
skipfailedinvocationcounts | 是否跳过错误的调用 |
prserve-order | 如果设置true,classes会按照XML文档中的顺序执行 |
allow-return-values | 如果设置true,将会运行测试用例并返回值 |
属性列表:
< test name CDATA #必填项 junit (true | false) "false" verbose CDATA #隐含 parallel CDATA #隐含 thread-count CDATA #隐含 annotations CDATA #隐含 time-out CDATA #隐含 enabled CDATA #隐含 skipfailedinvocationcounts (true | false) "false" preserve-order (true | false) "true" group-by-instances (true | false) "false" allow-return-values (true | false) "false" >
**groups元素
定义包含在测试中要运行的组(组中组)
< groups (define*,run?,dependencies?) >
**define元素
< define (include*)>
属性列表
< define name CDATA #必填项 >
**include元素
定义组中组
<include ANY>
属性列表
< include name CDATA #必填项 description CDATA #隐含 invocation-numbers CDATA #隐含>
**exclude元素
定义排除的组
< exclude ANY>
属性列表
< exclude name CDATA #必填项 >
**run元素
定义那些group需要被运行
< run (include?,exclude?)* >
**dependencies元素
< dependencies (group*)>
**group元素
< group ANY>
属性列表
< group name CDATA #必填项 depends-on CDATA #必填项 >
**classes元素
包含在此次test中的classes列表
< classes (class*) >
**class元素
< class (methods*) >
属性列表:
< class name CDATA #必填项 >
**packages元素
包含在此次test中的packages列表
< packages (package*) >
**package元素
如果package名字结尾包含.* ,则所有的子包也被包括其中
< package (include?,exclude?)*>
属性列表:
< package name CDATA #必填项 >
**methods元素
包含或排除在此次test中的methods列表
< methods (include?,exclude?,parameter?)* >
**listeners元素
将被传给TestNG的监听列表
< listeners (listener*) >
**listener元素
< listener ANY>
属性列表:
<listener class-name CDATA #必填项 >
发表评论
-
数据驱动
2016-07-26 11:10 660相同的测试脚本使用不同的测试数据来执行,测试数据和测试行为进行 ... -
对下拉框进行操作
2014-07-22 17:40 748对下拉框进行操作时首先要定位到这个下拉框,new 一个Selc ... -
定位页面表格和单元格
2014-04-25 13:05 951在处理表格时,我们可 ... -
JQuery选择器
2014-04-22 10:31 0juqery选择器是jquery库中非常重要的功能。jquer ... -
日志记录
2014-04-25 13:06 631日志记录可结合上一专题的报告共同生成,日志中可记录自动化测试过 ... -
报告生成
2014-04-25 13:06 626一般我们写的脚本可能覆盖了较多的测试项,而且可能持续运行了一段 ... -
XPATH定位
2014-04-22 10:02 1379XPATH是一门在XML文档中 ... -
CSS选择器定位元素详解
2014-04-22 09:58 1632CSS是一种用来表现HTML(标准通用标记语言的一个应用)或X ... -
元素定位
2014-04-22 09:54 608Selenium WebDriver提供一个先进的技术来定位w ... -
XPATH定位
2014-04-21 16:00 0XPATH是一门在XML文档中 ... -
截屏功能
2014-04-25 13:07 5841、使用webdriver封装的API函数截图 //截屏功能, ... -
数据驱动-property
2014-04-21 15:23 0把参数什么的都放在property文件中,然后用Resourc ... -
数据驱动- Junit直接自带关键字驱动
2014-04-21 15:22 0数据驱动- Junit直接自带关键字驱动 -
数据驱动-Excel
2014-04-22 10:21 1248我们在页面的测试中,会发现很多输入框的测试,这些输入框中我们需 ... -
设计自动化测试数据
2014-04-21 15:04 0在之前的测试过程中,测试的数据都是不变的,想换一组测试数据会相 ... -
编写自动化测试代码
2014-04-21 14:46 0在设计文档(也就是自动化测试用例)完成后,就可以开始正式编码了 ... -
设计自动化测试用例
2014-04-21 14:28 0在自动化测试的流程中,需要先设计才能进行正式编码。设计文档一般 ... -
5.11 为测试操作添加事件
2014-04-21 14:23 0如果想要在执行测试操 ... -
5.10 设置管理
2014-04-21 14:12 0在Selenium 2中,可以通过Options对象对测试进行 ... -
5.9 浏览器多窗口处理
2014-04-25 13:06 884在进行Web测试时,还会弹出一些子窗口,并且在多个窗口之间进行 ...
相关推荐
在压缩包中的文件"testng.xml.html"可能是一个HTML版本的`testng.xml`,方便开发者查看和编辑。这个文件通常会包含测试套件(suite)、测试(test)、类(class)以及方法(method)的结构,以及它们之间的关系。 ...
IntelliJ IDEA(简称IDEA)作为一款流行的Java集成开发环境,提供了许多便捷的工具来辅助开发,其中包括自动生成TestNG测试配置文件`testng.xml`的功能。本文将详细介绍如何在IDEA中使用插件来自动创建`testng.xml`...
4. **数据驱动测试(Data Driven Testing)**:TestNG支持多种数据提供方式,如使用`@Parameters`注解,可以从XML、CSV或其他数据源引入参数,实现数据驱动的测试。 5. **并行测试(Parallel Testing)**:TestNG...
- **XML配置文件**:允许通过XML文件定义测试结构,方便管理和维护。 - **报告生成**:TestNG自动生成详细的HTML测试报告,清晰展示测试结果。 6. **安装与使用**:将压缩包解压后,通过Eclipse的"Help > Install...
3. **site.xml**:这是一个XML文件,描述了插件的元数据,包括插件的版本、描述、作者、依赖关系等信息。在安装插件时,Eclipse会解析这个文件来了解如何正确地安装和配置插件。 4. **features**:这个目录可能包含...
自动生成testng.xml自动生成testng.xml自动生成testng.xml自动生成testng.xml自动生成testng.xml自动生成testng.xml自动生成testng.xml自动生成testng.xml自动生成testng.xml自动生成testng.xml自动生成testng.xml...
TestNG是一款强大的测试框架,专为Java开发人员设计,提供了丰富的功能来支持单元测试、集成测试以及端到端测试。它的出现是对JUnit的一种扩展,增加了许多高级特性,如并发测试、参数化测试、依赖管理以及更详细的...
这通常涉及在pom.xml文件中添加相关的依赖,包括Arquillian Core、TestNG和特定的容器适配器。例如: ```xml <groupId>org.arquillian.universe <artifactId>arquillian-testng-impl 版本号 <scope>test ...
6. 创建测试套件:通过XML文件(eclipse-testng.xml)定义和控制测试套件的元数据和执行顺序。 7. 错误处理:如果依赖的测试失败,TestNG将跳过后续依赖的测试,并且可以只重跑失败的测试。 8. 执行次数控制:可以设定...
在TestNG的上下文中,XSLT可以用来将TestNG生成的XML测试结果转换成HTML、PDF或其他格式,使得测试报告更具可读性和可分析性。例如,开发团队可能需要一个简洁的HTML报告,以便于快速浏览测试状态,或者需要一个详细...
testng使用的testng.xml文档的文档类型定义文件,可用于核对xml文件的文档结构及合法元素
读者可以右键选择Create testing xml,创建一个新的TestNG.xml文件。 创建测试类 读者需要创建一个测试类,该类用于执行测试用例。读者可以编写测试方法,使用TestNG注解来标记测试方法。 运行TestNG.xml文件 ...
TestNG提供了这样的功能,通过在`testng.xml`配置文件中进行设定,我们可以定义一个或者多个测试套件,并设置特定的属性来实现失败重跑。 `testng.xml`是TestNG测试的配置文件,其中包含了测试类、方法的组织结构,...
11. **Maven集成**:对于使用Maven构建的项目,可以在pom.xml中添加TestNG的依赖,并通过maven-surefire-plugin插件配置执行TestNG测试。 12. **持续集成**:TestNG与Jenkins、Travis CI等持续集成工具配合良好,可...
此存储库仅用于演示testng.test.classpath属性问题。 问题 以下是中testng.test.classpath的... 运行测试: java -cp $CLASSPATH:out org.testng.TestNG testng.xml 使用testng.test.classpath属性重新运行测试: jav
- **testng.xml**:这是 TestNG 的配置文件,用于定义测试套件、测试类和测试方法的运行方式。 - **命令行运行**:可以直接通过命令行工具来运行 TestNG 测试。 - **Eclipse 插件**:TestNG 提供了官方的 Eclipse ...
ant+eclipse+testng实例代码。包含了配置testng.xml和ant的build.xml文件。导入到eclipse中可以直接运行。前提是eclipse中已经安装了testng插件和ant插件。相关的jar包需要引用进来。
C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml 验证输出 =============================================== Suite1 Total tests run: 1, Failures: 0, Skips: 0 ============...
10. **XML配置文件**:TestNG可以通过XML配置文件灵活地定义测试结构,包括测试套件、测试类和测试方法的顺序。 11. **监听器和回调**:TestNG允许自定义监听器,以便在测试生命周期的不同阶段执行自定义逻辑。 12...
此外,TestNG 还支持通过配置文件 `testng.xml` 来组织和控制测试执行。在 `testng.xml` 文件中,我们可以定义测试套件(suite)、测试(test)和要包含的测试类及其方法: ```xml <!DOCTYPE suite SYSTEM ...