自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Anthony_tester的博客

公众号:AnthonyTestDevHouse,探索从QA角色到开发角色的转换之路(Q群574103281)

  • 博客(20)
  • 收藏
  • 关注

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

在上一篇文章,我介绍了我认为的失败用例重跑的方式,这只是一种解决问题的方法,主要在什么场景下,才能决定这个方法是否管用和适合。这篇来介绍下TestNG中的Listener,在理解了Listener之后,我们再来看看代码失败重跑的第二种方法。 什么是TestNG Listener        接触过Selenium的人可能听说过webdriver Listener,可能面试中也会被问到

2017-11-26 21:56:38 6440 1

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

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

2017-11-25 22:43:02 17136 10

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

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

2017-11-23 15:10:53 3328

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

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

2017-11-21 21:48:53 9740 11

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

这篇来介绍下依赖关系,前面我们简单介绍了@Test中的dependsOnMethods。这篇,我们主要学习dependOnGroups和如何在testng.xml中设置依赖关系。在Testng中依赖分两种,硬依赖和软依赖。       硬依赖就是所有的依赖方法必须成功执行,才会执行接下来的方法,如果其中有一个依赖的方法失败了,那么接下来的方法是不会被执行,会默认标记跳过(skip)。举例:

2017-11-17 21:38:14 3720 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 3501

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

本篇来介绍TestNG中的Assertion,也是断言。前面介绍了@Test注释下大部分的属性的功能和基本使用。这篇介绍,写测试用例中的断言部分。我们知道,一个测试用例的水平高低,主要是看断言的水平。断言能体现出测试的思维和测试角度,所以断言是测试中最难写的部分,自动化测试用例最难的也是在断言。举例一个接口测试的常见流程1)  发送接口请求2)  断言接口响应状态是不是200 OK

2017-11-11 15:32:59 9537 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 8108 3

原创 TestNG入门教程-7-invocationCount和invocationTimeOut

这篇我们来学习下@Test中另外两个属性invocationCount和invocationTimeOut,前面我介绍了timOut这个属性,知道是超时监控的功能。同样,本篇两个属性和这个差不多,只不过是监控运行多次同一个用例的总耗时是否达到设置的最大值。1.invocationCount       字面意思就是调用的次数统计,这个属性是的英文解释是:The number of time

2017-11-08 21:58:01 4446 1

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

说明:由于该系列是好友之邀,优先提供给好友的自媒体账号发布Testng系列文章,所以可能大家会提前看过接下来的这些文章内容。       本篇来继续学习@Test下的注释,这篇学习两个属性的基本使用。第一个是设置该条用例不被执行,第二个的作用是设置用例执行的优先顺序。1. 属性enabled       在Testng中,如果方法前面添加了@Test注释,然后没有其他的属性,那么默

2017-11-08 21:53:20 4364 1

原创 TestNG入门教程-5-timeOut属性

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

2017-11-07 21:19:20 3454 4

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

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

2017-11-07 21:13:30 4448 2

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

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

2017-11-07 21:04:08 11487

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

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

2017-11-06 22:11:35 9138 3

原创 TestNG入门教程-1-TestNG简介

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

2017-11-06 22:02:47 14343 1

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

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

2017-11-06 13:07:05 4785 1

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

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

2017-11-05 21:46:35 1177

原创 Java高级篇-12-静态导入

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

2017-11-04 21:43:49 845 2

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

本篇学习java中的可变长参数(varargs),使用varargs的时候,说明这个方法中,你暂时不确定有多少个参数传入。但是在调用该方法的时候,你就需要具体写出多少个参数。在同一个方法中,使用varargs必须要求参数都是同一个数据类型。一般格式是这样的public void fun(int ...x),小括号的三个点表示省略,直接来看下面的例子。package javademo;pub

2017-11-03 15:31:39 946

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

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

2017-11-01 14:07:37 1236 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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