Anthony_tester的博客

探索从QA角色到开发角色的转换之路

TestNG入门教程-13-TestNG中的Listener和简单应用

在上一篇文章,我介绍了我认为的失败用例重跑的方式,这只是一种解决问题的方法,主要在什么场景下,才能决定这个方法是否管用和适合。这篇来介绍下TestNG中的Listener,在理解了Listener之后,我们再来看看代码失败重跑的第二种方法。   什么是TestNG Listener     ...

2017-11-26 21:56:38

阅读数:957

评论数:1

Jenkins项目实战之-钉钉提醒插件二次开发举例

本篇我们来讨论下关于jenkins社区中钉钉提醒这个插件的二次开发过程。为什么需要二次开发呢,很简单,这个插件只是提供了最基本的构建后的提醒,有时候,我们需要一些额外的功能。例如,我们在打完app的包后,利用这个插件是可以发送提醒,但是点击标题,这个插件默认跳转的是jenkins上当前构建号的页面...

2017-11-25 22:43:02

阅读数:3637

评论数:10

Jenkins项目实战之-MacOS High Sierra自动化打包方案的填坑之旅

前面我介绍了如何在android和iOS实现公司内部app的自动化打包构建的过程。这里写一个关于这个app自动化打包平台从想法到实践再到放机房平稳运行的一个回忆录。总的来说,在jenkins上实现android打包比较顺序,一直没有什么大问题;iOS上实现自动化打包就填了很多坑,查找了很多资料,失...

2017-11-23 15:10:53

阅读数:1250

评论数:0

TestNG入门教程-12-Java代码执行testng.xml和失败后重跑

前面我们都在IDEA上右键testng.xml文件来运行testng用例,这个在编写测试用例过程是 可以这么做,但是,如果测试用例写完了,也是这么做吗?有没有什么方法,例如自动化去实现。测试脚本维护后期,我们都会考虑持续集成测试,那么如何把运行测试用例实现自动化呢?网上搜索,很多都是testng在...

2017-11-21 21:48:53

阅读数:2215

评论数:2

TestNG入门教程-11-如何通过testng.xml来实现设置依赖关系

这篇来介绍下依赖关系,前面我们简单介绍了@Test中的dependsOnMethods。这篇,我们主要学习dependOnGroups和如何在testng.xml中设置依赖关系。在Testng中依赖分两种,硬依赖和软依赖。        硬依赖就是所有的依赖方法必须成功执行,才会执行接下来的方法...

2017-11-17 21:38:14

阅读数:1032

评论数:0

TestNG入门教程-10-测试类/测试组/测试方法的概念

本篇来介绍Test Methods,Test classes ,Test groups的基本概念。了解这三个基本概念,有助于我们学习其他的功能。前面介绍了@Test下的before和after属性,其中就有beforeMethods和afterGroups等。 这三个都会在testng.xml文...

2017-11-17 21:19:44

阅读数:941

评论数:0

TestNG入门教程-9-断言之HardAssert和SoftAssert

本篇来介绍TestNG中的Assertion,也是断言。前面介绍了@Test注释下大部分的属性的功能和基本使用。这篇介绍,写测试用例中的断言部分。我们知道,一个测试用例的水平高低,主要是看断言的水平。断言能体现出测试的思维和测试角度,所以断言是测试中最难写的部分,自动化测试用例最难的也是在断言。 ...

2017-11-11 15:32:59

阅读数:2229

评论数:0

TestNG入门教程-8-dependsOnMethods

这篇来介绍@Test下的属性dependsOnMethods,看字面意思可以知道。如果要运行当前的测试用例,需要先运行指定的依赖方法后,再运行当前用例。 直接来看看例子。 package com.java.learn; import org.testng.annotations.Test; ...

2017-11-08 22:05:16

阅读数:1153

评论数:2

TestNG入门教程-7-invocationCount和invocationTimeOut

这篇我们来学习下@Test中另外两个属性invocationCount和invocationTimeOut,前面我介绍了timOut这个属性,知道是超时监控的功能。同样,本篇两个属性和这个差不多,只不过是监控运行多次同一个用例的总耗时是否达到设置的最大值。 1.invocationCount ...

2017-11-08 21:58:01

阅读数:1091

评论数:0

TestNG入门教程-6-enabled和priority属性

说明:由于该系列是好友之邀,优先提供给好友的自媒体账号发布Testng系列文章,所以可能大家会提前看过接下来的这些文章内容。        本篇来继续学习@Test下的注释,这篇学习两个属性的基本使用。第一个是设置该条用例不被执行,第二个的作用是设置用例执行的优先顺序。 1. 属性enab...

2017-11-08 21:53:20

阅读数:1081

评论数:0

TestNG入门教程-5-timeOut属性

说明:由于该系列是好友之邀,优先提供给好友的自媒体账号发布Testng系列文章,所以可能大家会提前看过接下来的这些文章内容。        这篇先来介绍@Test注释下的一个属性-timeOut。字面意思就是超时判断,详细点说。如果哪个测试方法需要监听执行的时间,那么就可以考虑采用timeO...

2017-11-07 21:19:20

阅读数:971

评论数:1

TestNG入门教程-4-Testng中注释简介

说明:由于该系列是好友之邀,优先提供给好友的自媒体账号发布Testng系列文章,所以可能大家会提前看过接下来的这些文章内容。        本篇来介绍TestNG中的注释,前面我们已经学习了一个注释,那就是“@Test”,也知道它的作用。就是在方法名称上面一行添加这个注释,这个方法就变成...

2017-11-07 21:13:30

阅读数:1186

评论数:0

TestNG入门教程-3-Testng.xml文件介绍

说明:由于该系列是好友之邀,优先提供给好友的自媒体账号发布Testng系列文章,所以可能大家会提前看过接下来的这些文章内容。        现在这篇,我们来学习TestNG.xml文件,前面我们已经知道,TestNG就是运行这个文件来执行测试用例的。通过本篇,你可以进一步了解到:这个文件是配...

2017-11-07 21:04:08

阅读数:1567

评论数:0

TestNG入门教程-2-写第一个基于TestNG的用例

说明:由于该系列是好友之邀,优先提供给好友的自媒体账号发布Testng系列文章,所以可能大家会提前看过接下来的这些文章内容。        前面一篇,介绍了TestNG的特点和官网地址,以及在IDEA上的配置过程。这篇,我们就来动手写一个基于TestNG的测试代码,或者叫测试用例。前面我们知道通...

2017-11-06 22:11:35

阅读数:2521

评论数:3

TestNG入门教程-1-TestNG简介

说明:由于该系列是好友之邀,优先提供给好友的自媒体账号发布Testng系列文章,所以可能大家会提前看过接下来的这些文章内容。        这个系列文章,我们来系统地学习下Java编程语言中,比较流行的单元测试框架TestNG。因为Junit比较老,过时了,所以这里选择了TestGN,而且,...

2017-11-06 22:02:47

阅读数:3106

评论数:0

Java高级篇-14-如何把项目导出jar包

很多时候,我们需要把项目导出成jar包,通过运行jar来运行程序,不希望别人直接看到我们写的代码。例如,在java开发的很多开源插件中,都是通过导出项目成...jar包,别人通过引用这个jar文件,就可以使用里面的API。这篇,我们在IDEA上看看如何把项目导出成可执行的jar包。 1. 前提条...

2017-11-06 13:07:05

阅读数:1015

评论数:3

Java高级篇-13-增强型For循环

本篇来学习Java的增强型For循环,也叫for-each循环。一般,我们遍历元素的时候,喜欢采用for循环。那么到底采用哪种for循环呢?主要是取决你的需求,如果你要对元素下标,也就是索引进行操作,那么选择传统的for循环,如果你实现操作和索引没有关系,建议采用for-each循环。下面通过例子...

2017-11-05 21:46:35

阅读数:355

评论数:0

Java高级篇-12-静态导入

前面文章,我们知道了Java中的静态方法和静态代码块。这篇来说说静态方法的使用相关的知识,静态导入。什么是静态导入呢,就是在导入包语句中直接写导入该类的静态方法。这么说还不理解没关系,我们下面通过代码举例就很简单了。 1. 打印int的最大和最小整数是多少,我们先来看看没有使用静态导入的效果。 ...

2017-11-04 21:43:49

阅读数:302

评论数:2

Java高级篇-11-可变长参数的使用

本篇学习java中的可变长参数(varargs),使用varargs的时候,说明这个方法中,你暂时不确定有多少个参数传入。但是在调用该方法的时候,你就需要具体写出多少个参数。在同一个方法中,使用varargs必须要求参数都是同一个数据类型。一般格式是这样的public void fun(int ....

2017-11-03 15:31:39

阅读数:342

评论数:0

Java高级篇-10-静态代码块和静态方法

这篇来讨论下静态代码块和静态方法,静态方法我们已经知道了,就是这个方法的名称前有一个static修饰符。先来看看什么是静态代码块。一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的,例如Java中程序执行入口的main()函数。在不创建对象的情况下,...

2017-11-01 14:07:37

阅读数:342

评论数:1

提示
确定要删除当前文章?
取消 删除
关闭
关闭