Java单元测试框架TestNG入门到掌握
Anthony_tester
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
TestNG入门教程-1-TestNG简介
说明:由于该系列是好友之邀,优先提供给好友的自媒体账号发布Testng系列文章,所以可能大家会提前看过接下来的这些文章内容。 这个系列文章,我们来系统地学习下Java编程语言中,比较流行的单元测试框架TestNG。因为Junit比较老,过时了,所以这里选择了TestGN,而且,TestNG的功能比Junit更加强大。还有一点可以就是TestNG的设计模式或者特点,很好地符合我们原创 2017-11-06 22:02:47 · 14559 阅读 · 1 评论 -
TestNG入门教程-2-写第一个基于TestNG的用例
说明:由于该系列是好友之邀,优先提供给好友的自媒体账号发布Testng系列文章,所以可能大家会提前看过接下来的这些文章内容。 前面一篇,介绍了TestNG的特点和官网地址,以及在IDEA上的配置过程。这篇,我们就来动手写一个基于TestNG的测试代码,或者叫测试用例。前面我们知道通过注释语句“@Test”添加在方法的前面,这个方法就会被执行。从这个注释来看,如果添加@Test,原创 2017-11-06 22:11:35 · 9238 阅读 · 3 评论 -
TestNG入门教程-14-失败重跑的第二种方法
前面我们介绍了TestNG中的Listener和简单举例,这篇来介绍下网上很多人采用的修改代码来实现测试用例的重跑(设置重跑多次),这当然离不开Listener相关接口。在介绍实现相关代码之前,我们先来了解几个接口。1. 接口IRetryAnallyzer 该接口的作用是提供去实现能够让用例运行失败重跑的设置。实现该接口必须要实现retry(ITestResult resu原创 2017-12-01 17:03:17 · 4056 阅读 · 2 评论 -
TestNG入门教程-15-Java语言的断言和Junit的断言
前面几篇,我们差不多都是围绕测试失败来介绍,这篇来补充一下测试结果的一些知识。在TestNG的测试报告中有,成功,失败,跳过的三种状态。成功指的是用例执行完了没有抛出异常或者抛出的异常是期待的异常,没有任何报错,我们一般写断言语句来验证测试检查点是成功的。测试失败,就是指用例运行后遇到了报错,跳过是指,由于前面失败了,后面的用例无法执行就标记跳过的状态。这篇,我们来讨论下写测试用例的过程中断言的使原创 2017-12-09 21:57:02 · 4448 阅读 · 4 评论 -
TestNG入门教程-12-Java代码执行testng.xml和失败后重跑
前面我们都在IDEA上右键testng.xml文件来运行testng用例,这个在编写测试用例过程是 可以这么做,但是,如果测试用例写完了,也是这么做吗?有没有什么方法,例如自动化去实现。测试脚本维护后期,我们都会考虑持续集成测试,那么如何把运行测试用例实现自动化呢?网上搜索,很多都是testng在cmd中输入命令行,但是这个是有缺陷的,第一需要javac命令去编译你的测试用例,然后才能用这个命令,原创 2017-11-21 21:48:53 · 9900 阅读 · 11 评论 -
TestNG入门教程-11-如何通过testng.xml来实现设置依赖关系
这篇来介绍下依赖关系,前面我们简单介绍了@Test中的dependsOnMethods。这篇,我们主要学习dependOnGroups和如何在testng.xml中设置依赖关系。在Testng中依赖分两种,硬依赖和软依赖。 硬依赖就是所有的依赖方法必须成功执行,才会执行接下来的方法,如果其中有一个依赖的方法失败了,那么接下来的方法是不会被执行,会默认标记跳过(skip)。举例:原创 2017-11-17 21:38:14 · 3824 阅读 · 3 评论 -
TestNG入门教程-10-测试类/测试组/测试方法的概念
本篇来介绍Test Methods,Test classes ,Test groups的基本概念。了解这三个基本概念,有助于我们学习其他的功能。前面介绍了@Test下的before和after属性,其中就有beforeMethods和afterGroups等。这三个都会在testng.xml文件中存在。1.Test Methods(测试方法) 官方定义是,凡是方法(或者叫函原创 2017-11-17 21:19:44 · 3650 阅读 · 0 评论 -
TestNG入门教程-9-断言之HardAssert和SoftAssert
本篇来介绍TestNG中的Assertion,也是断言。前面介绍了@Test注释下大部分的属性的功能和基本使用。这篇介绍,写测试用例中的断言部分。我们知道,一个测试用例的水平高低,主要是看断言的水平。断言能体现出测试的思维和测试角度,所以断言是测试中最难写的部分,自动化测试用例最难的也是在断言。举例一个接口测试的常见流程1) 发送接口请求2) 断言接口响应状态是不是200 OK原创 2017-11-11 15:32:59 · 9683 阅读 · 3 评论 -
TestNG入门教程-8-dependsOnMethods
这篇来介绍@Test下的属性dependsOnMethods,看字面意思可以知道。如果要运行当前的测试用例,需要先运行指定的依赖方法后,再运行当前用例。直接来看看例子。package com.java.learn;import org.testng.annotations.Test;/** * create by Anthony on 2017/11/02 */public原创 2017-11-08 22:05:16 · 8254 阅读 · 3 评论 -
TestNG入门教程-7-invocationCount和invocationTimeOut
这篇我们来学习下@Test中另外两个属性invocationCount和invocationTimeOut,前面我介绍了timOut这个属性,知道是超时监控的功能。同样,本篇两个属性和这个差不多,只不过是监控运行多次同一个用例的总耗时是否达到设置的最大值。1.invocationCount 字面意思就是调用的次数统计,这个属性是的英文解释是:The number of time原创 2017-11-08 21:58:01 · 4575 阅读 · 1 评论 -
TestNG入门教程-6-enabled和priority属性
说明:由于该系列是好友之邀,优先提供给好友的自媒体账号发布Testng系列文章,所以可能大家会提前看过接下来的这些文章内容。 本篇来继续学习@Test下的注释,这篇学习两个属性的基本使用。第一个是设置该条用例不被执行,第二个的作用是设置用例执行的优先顺序。1. 属性enabled 在Testng中,如果方法前面添加了@Test注释,然后没有其他的属性,那么默原创 2017-11-08 21:53:20 · 4474 阅读 · 1 评论 -
TestNG入门教程-5-timeOut属性
说明:由于该系列是好友之邀,优先提供给好友的自媒体账号发布Testng系列文章,所以可能大家会提前看过接下来的这些文章内容。 这篇先来介绍@Test注释下的一个属性-timeOut。字面意思就是超时判断,详细点说。如果哪个测试方法需要监听执行的时间,那么就可以考虑采用timeOut属性。例如,实际的接口测试中,加入登录接口时间不能超过3秒中。下面来看看如何监控这个方法如果运行时原创 2017-11-07 21:19:20 · 3566 阅读 · 4 评论 -
TestNG入门教程-4-Testng中注释简介
说明:由于该系列是好友之邀,优先提供给好友的自媒体账号发布Testng系列文章,所以可能大家会提前看过接下来的这些文章内容。 本篇来介绍TestNG中的注释,前面我们已经学习了一个注释,那就是“@Test”,也知道它的作用。就是在方法名称上面一行添加这个注释,这个方法就变成了测试用例,一定会被执行。这里,我们介绍下其他的注释的基本使用说明。1. @Before和@Aft原创 2017-11-07 21:13:30 · 4562 阅读 · 2 评论 -
TestNG入门教程-3-Testng.xml文件介绍
说明:由于该系列是好友之邀,优先提供给好友的自媒体账号发布Testng系列文章,所以可能大家会提前看过接下来的这些文章内容。 现在这篇,我们来学习TestNG.xml文件,前面我们已经知道,TestNG就是运行这个文件来执行测试用例的。通过本篇,你可以进一步了解到:这个文件是配置测试用例,测试套件。简单来说,利用这个文件,我们可以跑同一个类或者多个不同类里面的测试用例。Te原创 2017-11-07 21:04:08 · 11636 阅读 · 0 评论 -
TestNG入门教程-13-TestNG中的Listener和简单应用
在上一篇文章,我介绍了我认为的失败用例重跑的方式,这只是一种解决问题的方法,主要在什么场景下,才能决定这个方法是否管用和适合。这篇来介绍下TestNG中的Listener,在理解了Listener之后,我们再来看看代码失败重跑的第二种方法。 什么是TestNG Listener 接触过Selenium的人可能听说过webdriver Listener,可能面试中也会被问到原创 2017-11-26 21:56:38 · 6613 阅读 · 1 评论
分享