自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(79)
  • 资源 (7)
  • 收藏
  • 关注

原创 Java+Maven+TestNG接口(API)自动化测试教程(十) 使用 Jenkins 构建自动化测试持续集成

现在代码可以运行了,但是每次运行都需要我们手工去执行,并且测试报告也只能在执行测试的电脑上才能看到,我们希望能够定时自动执行测试,并且能够做到自动发送测试报告到相关人员的电子邮箱中。Jenkins 正好可以很好的完成以上诉求,那我们首先下载并安装好Jenkins(网上有很多相关资料和教程,这里略过)。接下来说下具体的配置步骤:10.1 相关的工具软件在 Jenkins 服务器中安装和配置 JDK:必须配置,Java 写的程序哦!Maven:必须配置,我们建立的就是 Maven 类型的项.

2020-06-25 17:12:34 1770 3

原创 Java+Maven+TestNG接口(API)自动化测试教程(九) 使用 Extent Reporters 美化测试报告

TestNG 自己生成的测试报告不够美观,我们可以使用 Extent Reporters 来 美化测试报告。9.1 在 pom.xml 中加入支持 extent reporters 的 XML 片段增加内容后的完整的 pom.xml 文件内容如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLo.

2020-06-25 16:42:15 1239

原创 Java+Maven+TestNG接口(API)自动化测试教程(八) Post,Put 和 Delete 方法

8.1 发送 POST 方法post 方法和 get 方法是我们在做接口测试时,用的最多的两个请求方法。 在发送请求时它们显著的一个差别就在于,get 方法我们只需要将 url 发送即可,post 我们还需发送一个请求主体;在作用方面,get 方法用于查询,不会改变服务器中的 信息;而 Post 方法可用于修改服务器中的信息。8.1.1 修改 HttpClientUtil 实现发送 POST 请求和获取响应根据请求的数据是 JSON 对象还是表单形式的键值对,分成了 senPostByJso

2020-06-21 13:56:52 1595 1

原创 Java+Maven+TestNG接口(API)自动化测试教程(七) TestNG 断言

7.1 引入 TestNG上一章中我们还没有很好的手段来执行测试和验证结果,这里我们引入 TestNG 来帮 助完成这部分功能。7.1.1 创建 TestNG 测试类在项目目录 src/test/java 下的包 com.mytest.httpclient.test 下新建一个支持testNG 的类,类名为 testGet。写入以下测试代码:package com.mytest.httpclient.test;import java.io.IOExcept...

2020-06-21 13:00:37 6252 2

原创 Java+Maven+TestNG接口(API)自动化测试教程(六) 初步封装

在上一章中,我们写了第一个 get 请求的测试类,这一章我们来对它进行初步优化和 封装。6.1 分离请求发送类首先想到的问题是,以后我们的接口自动化测试框架会大量用到发送 http 请求的功能。那么这一部分的处理,可以将它分离出来,以后的测试类只需要调用请求类的方法实 现发送请求和接收响应。在我们的项目目录 src/main/java 下,新建一个包名为 com.mytest.httpclient, 在包下新建一个类,名称为 HttpClienUtil。这个类我们把上一章写的发送请求和.

2020-06-20 13:29:39 2440

原创 Java+Maven+TestNG接口(API)自动化测试教程(五) Get 方法的接口测试

5.1 创建发送接口的测试类我们的项目需要有这样一个类,它能够实现发送请求,接收响应,验证响应的功能。 暂时我们只考虑发送 Get 方法的请求。5.1.1 创建所需变量在我们的第一个测试类中,我们需要使用 httpClient 来发送请求,接收响应,然后对响应信息做一个验证。在我们的项目 src/test/java 目录下新建一个包名为:com.myteest.httpclient.test,在包下新建一个普通类:SimpleGetTest首先我们考虑需要如下变量:Strin.

2020-05-30 21:05:29 1985

原创 Java+Maven+TestNG接口(API)自动化测试教程(四) Postman 简介

4.1 确定待测接口我们需要有待测的接口,使我们可以发出请求并能正确返回请求结果。我 们选用 https://reqres.in/这个网站作为我们接口测试的网站。这个网站提供 了常用的 Get,Post 接口,也有 Put,Delete 等接口,从下图可以看到,我们可 以对这个接口进行符合标准格式的请求,红框中给出的就是我们要去验证的响 应信息,所以很适合我们练习选用。 Postman 简介 Postman 是一款很好用的 API/接口功能测试工具,支持所有类型的 HTTP 请求..

2020-05-30 20:48:32 1427

原创 Java+Maven+TestNG接口(API)自动化测试教程(三)在Eclipse中新建一个Maven项目

3.1 必备工具安装3.1.1 JDK:使用Java编程,JDK必须安装和配置好。建议下载和安装JDK 1.8, 网上有很多相关资料和教程,这里略过。3.1.2 Eclipse:进行Java编程的IDE(集成开发环境),能大幅度提高工作效率。建议安装最新版本(最新版本应该已经包含了Maven插件,无需在Eclipse中再安装和配置Maven插件)。网上有很多相关资料和教程,这里略过。3.1.3 Maven:可自动下载Java项目相关的Jar文件,自动打包测试等,是Java编程人员必备神器。建议安装最

2020-05-24 17:08:00 2016

原创 Java+Maven+TestNG接口(API)自动化测试教程(二) HttpClient和TestNG简介

因为本人更熟悉和偏爱Java,所以选用了Java语言作为接口用例脚本编写的语言。虽然现在很多人使用Python语言编写自动化测试脚本,但个人觉得Python语言不如Java语言严谨(Python是弱类型,Java是强类型),出现变量类型错误不容易被发现,当代码量较大时(大于1000行以上),使用Java无疑效率更高(呵呵,欢迎反对的同学来喷)。 因为选择了Java,所以采用了Apache的开源框架HttpClient作为接口调用的底层框架。 HTTP 协议是现在 Internet 上使用...

2020-05-24 16:56:08 2526 1

原创 Java+Maven+TestNG接口(API)自动化测试教程(一)概述

随着移动互联网的逐渐普及,越来越多的人在手机中安装和使用 APP,APP的用户体验对于其厂商来说就显得尤为重要。有个常识大家肯定知道:APP 一 般是通过 HTTP/HTTPS 协议的接口来获取所需的数据和相应的业务逻辑,所以接 口测试的重要性越来越凸显。由于当前市场竞争的加剧,很多 APP 发版周期变得越来越短,3-4 天就发一 次版也很平常了。这种情况下,自动化测试就体现出其价值和优势来了。相比手工测试,自动化测试快速高效,测试结果可靠可信,不会因不同人员测试而 给出不同的测试结果。说起自动..

2020-05-24 16:24:42 2998

原创 TestNG+Maven+ExtentReports在Jenkins中的测试报告出坑记(四):测试报告邮件内容实用化与美化解决方案

好了,现在让Jenkins开跑吧,一切似乎都还不错。但是,看到收到的邮件,觉得又不好了。默认情况下,收到的测试结果邮件内容如下:这样的内容确实有点少,如果能把测试过程展示出来不是更好么?还有不太美观啊,所以得想办法优化下。首先要做的就是在Jenkins中安装上Email Extension插件,通过设置该插件可以满足绝大多数常见的email相关的需求。安装好之后,就开始配置这个插件...

2020-03-21 15:37:39 933

原创 TestNG+Maven+ExtentReports在Jenkins中的测试报告出坑记(三):Build结果始终为Success不能真实反映测试结果的解决方案

现在测试可以在Jenkins中自动执行了,但又发现一个问题,就是测试结果中实际中有出现failed的,但每次Jenkins都认为跑成功了,给出的结果是Success。 这时我想到了Log Parser插件(之前有点印象),它可以用来解析log,然后根据解析结果来更正测试报告结果。 果断下载并安装好该插件后,可以在已安装插件中看到该插件。 ...

2020-02-29 23:40:38 638

原创 TestNG+Maven+ExtentReports在Jenkins中的测试报告出坑记(二):测试报告乱码问题及解决方案

执行Jenkins后,测试报告中出现乱码,这个问题相对简单,肯定是编码不一致导致的。先后试过几种解决方案,最后发现其实只需要在电脑中增加一个系统环境变量并重启Jenkins就可以解决该问题。先查看Jenkins的系统信息中的file.encoding的值是什么?以Jenkins管理员登录,先后点击Manage Jenkins->System Information正是因为fi...

2020-02-29 23:37:23 641

原创 TestNG+Maven+ExtentReports在Jenkins中的测试报告出坑记(一):样式不生效及解决方案

这段时间因为疫情,一直在家,就顺便玩了下Extent报表,结果遇到了两个大坑,先说个人认为花了最多时间去解决的一个坑:报告没有样式效果,非常丑陋。于是想办法解决这个问题,在网上搜了下,都是说通过在代码加上这一句:htmlReporter.config().setResourceCDN(ResourceCDN.EXTENTREPORTS);如果还不行,或者改为这样:htmlRep...

2020-02-29 23:34:50 1423 2

原创 软件测试经验与教训

本文是本人多年来的工作所得出的经验和教训,本文采取言简意赅的短文字方式方便读者迅速阅读,也采纳了一些同行的本人认同的观点。不过正因为字数少,所以希望读者能反复阅读和体会。有不当不对之处,请读者留言。 人工测试1.人工测试的重要性仍是第一位的,尽管现在自动化测试如火如荼的发展着,但很多重大缺陷依然需要通过人工测试的方式才能发现,因为测试策略才是根本,人工测试在这里充分体现出了其灵活多样的...

2018-12-27 08:40:51 1005

原创 如何做好一个Sprint Demo

我列出了一些关于如何做好一个Demo(演示)的建议。我想通过以下四个步骤可以做出一个较好的Demo。 第一步:准备Demo故事以真实用户使用软件的方式进行Demo。关键点不在于演示软件如何工作,而是展示出它能带给用户的价值所在。1.       背景2.       问题3.       解决方案4.       价值 第二步:准备Demo数据所有需

2016-07-15 10:51:35 1562

原创 每日Scrum站会实践推荐

流程1.团队在Scrum 白板前集中,推荐围成一个半圆形状。2.最左边的成员开始讲述昨天/上一次Scrum每日站会后到现在为止,完成了什么任务,只需讲对应的任务就行了,不要讲很长的故事。3.讲述同时移动对应的卡片到正确位置。4.讲述今天打算完成什么,讲述同时移动对应卡片到正确位置。5.昨天的任务如果不顺利,讲出遇到的障碍或者问题,如果可以解决的就马上解决,不能马上解决的确定由谁

2016-07-15 10:29:21 721 2

原创 敏捷测试模式之Scrum及其实践

本文首先简单介绍了敏捷开发模式和Scrum,之后详细介绍了在测试团队的具体实践以及作者的经验总结。

2016-06-27 10:03:53 2562 2

原创 ExtentTestNGReporterListener.java文件的源代码

import com.aventstack.extentreports.ExtentReports;import com.aventstack.extentreports.ExtentTest;import com.aventstack.extentreports.ResourceCDN;import com.aventstack.extentreports.Status;import com.aventstack.extentreports.model.TestAttribute;import.

2020-05-30 20:56:13 708

转载 性能测试初探---接口性能测试

(一).性能指标PV: PageView, 页面浏览量或点击量,用户每次刷新即被计算一次;用户的一次刷新,给服务器造成了一次请求。UV: UniqueVisitor, 访问你网站的一台计算机客户端为一个访客,0:00 - 24:00 内相同的客户端仅记一次。TPS: Transaction Per Second 每秒系统处理的交易或事物的数量,衡量系统处理能力的重要指标。RT: 响

2017-06-21 20:00:42 1797

转载 Loadrunner模拟JSON接口请求进行测试

一、loadrunner脚本创建1.Insert - New step -选择Custom Request - web_custom_request2.填入相应参数3.生成脚本,并修改如下(参数中的引号"前需要加斜杠\转译) Action(){web_custom_request("web_custom_request","URL=h

2017-06-21 19:55:56 466

原创 Robotframework解决Selenium2Library中的select frame无法选择没有name也没有id的frame或者iframe的问题

一个平常的页面的输入框,始终无法定位到该控件,查看源代码才知道用到了iframe, 于是使用Selet Frame关键字,但还是不行,查看了下Selet Frame的用法,它只支持id和name,可我遇到的这个页面中的iframe却都没有id和name属性,试了使用css,xpath都不行的。可能想着没招了,陷入了沉思。后来想到Robotframework是用python写的,干脆直接去看看源

2017-02-20 16:24:05 7828

转载 SQL重复记录查询和删除方法

MYSQL 查询和删除重复记录的方法很多,下面就为您介绍几种最常用的 MYSQL 查询和删除重复记录的方法,希望对您查询和删除重复数据方面能有所帮助。  SQL重复记录查询的几种方法:  1. 查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断  select * from people  where peopleId  in (select people

2016-11-25 16:48:00 584

转载 移动应用框架Appium应用问与答

1、提问:Appium的对Hybrid App的支持有限制么?答:就我的了解,Appium的对Hybrid App的支持有些限制,首先需要Android版本是4.4或以后的手机(关于此项可以参考appium.io文档中的说明),其次测试Hybrid App需要将WebView类的setWebContentsDebuggingEnabled设为True。另外在Android上我知道仅对Chr

2016-10-28 11:56:16 603

转载 Mac OS X、Linux和Windows设备连接至SFTP服务器的方法

创建自己的SFTP服务器的方法其实很简单。SFTP是什么?和FTP有什么不同?FTP(File Transport Protocol)最早是发明于1971年,最初是通过NCP(Network Control Protocol)来传送文件,进行了版本升级后,支持了TCP/IP和IPv6。像FTP一样,SFTP(Secure File Transport Protocol)也是

2016-10-27 17:13:26 10848

翻译 实际测试计划是指导测试过程的一套想法

2016-08-30 16:02:04 411

翻译 根据产品的成熟度确定测试策略

2016-08-29 14:08:36 1037

原创 使用Fiddle手机抓包、捕获流量数据介绍

Fiddler通过代理的方式获取程序http/https通讯的数据,可以用其检测所有客户端和服务器的交互情况及http请求,支持监视、设置断点、甚至可以修改输入输出数据等功能。同时也可以使用fiddler作为代理服务器抓取第三方设备的数据包。 1、修改设置Tools -> FiddlerOptions,接着进行如下设置,设置需要监听的端口号(默认8888),勾选“Allowremote

2016-08-29 11:22:26 12153

转载 WireShake的使用

这篇文章介绍另一个好用的抓包工具wireshark, 用来获取网络数据封包,包括http,TCP,UDP,等网络协议包。记得大学的时候就学习过TCP的三次握手协议,那时候只是知道,虽然在书上看过很多TCP和UDP的资料,但是从来没有真正见过这些数据包, 老是感觉在云上飘一样,学得不踏实。有了wireshark就能截获这些网络数据包,可以清晰的看到数据包中的每一个字段。更能加深我们对网络协议的理

2016-08-15 10:38:08 2047

转载 如何编写高质量的测试用例

高质量的标准:  1、 覆盖到所有的业务逻辑(包括正常逻辑和异常逻辑)  2、 覆盖到所有的典型用户场景  3、 覆盖到所有的需求点  4、 测试目标明确,并且测试步骤能够最快的达到测试目的或者测试时间很短  5、 没有冗余的用例  6、 测试用例能够直接附带测试策略,该模块的策略指定人和用例执行人能够非常清楚  如何达到该目标:  一、基于逻辑的用例设计过程:

2016-08-08 15:16:47 1095

转载 Selenium WebDriver使用经验杂记

(一) To Handle AjaxSelenium WebDriver在加载页面的时候,无论是driver.get(url)或者driver.getPageSource(),会立即返回当时页面的数据。但当代的网页技术都大量使用了异步Ajax调用,这使得许多DOM元素的创建和加载,都分布在页面load结束后的许多零散的时间点,让WebDriver的findElement经常无功而返。这个时

2016-07-28 17:39:59 3511

转载 Selenium源码分析之WebDriver

最近比较空闲就仔细看了一下Selenium的源码,因为主要是使用WebDriver所以重点关注了一下WebDriver的工作原理。在前一篇blog里已经解释过了WebDriver与之前Selenium的JS注入实现不同,直接利用了浏览器native support来操作浏览器。所以对于不同平台,不同的浏览器,必须依赖一个特定的浏览器的native component来实现把WebDriver

2016-07-28 16:28:24 804

转载 有关REST的一点学习笔记

REST的意思是表征状态转移(Representational State Transfer),它是一种基于HTTP协议的网络应用接口风格,充分利用HTTP的方法实现统一风格接口的服务。其中包括了一下8种方法:GET: 请求获取指定资源POST: 向指定资源提交数据PUT: 请求服务器存储一个资源HEAD: 获取资源的响应头DELETE: 请求服务器删除指定资源TRACE: 回显服务器收到

2016-07-28 15:35:43 1217

转载 揭秘webdriver实现原理

通过研究selenium-webdriver的源码,笔者发现其实webdriver的实现原理并不高深莫测无法揣度。在这里以webdriver ruby binding的firefox-webdriver实现为例,简单介绍一下webdriver的工作原理。当测试脚本启动firefox的时候,selenium-webdriver 会首先在新线程中启动firefox浏览器。如果测试脚本指

2016-07-28 12:34:38 609

转载 Appium原理及版本变化细节

Appium原理小结Api接口调用selenium的接口,Android底层用android的instrumentation(API2.3+ 通过绑定另外一个独立的selendroid项目来实现的)、uiautomator接口(API4.2+),iOS底层用ios的uiautomation接口。Client/ServerArchitectureAppium server是用Node.j

2016-07-28 12:19:19 2206

原创 栈(堆栈)与堆的比较

栈(Stack)是运行时的单位,而堆(Heap)是存储的单位。栈解决程序的运行问题,即程序如何执行,或者说如何处理数据;堆解决的是数据存储的问题,即数据怎么放、放在哪儿。在Java中一个线程就会相应有一个线程栈与之对应,这点很容易理解,因为不同的线程执行逻辑有所不同,因此需要一个独立的线程栈;而堆则是所有线程共享的。对象存放在堆中,对象引用和基本类型存放在栈中;对象的属性存放在堆中

2016-07-25 18:00:29 2186

转载 Java垃圾回收机制

说到垃圾回收(Garbage Collection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处理。顾名思义,垃圾回收就是释放垃圾占用的空间,那么在Java中,什么样的对象会被认定为“垃圾”?那么当一些对象被确定为垃圾之后,采用什么样的策略来进行回收(释放空间)?在目前的商业虚拟机中,有哪些典型的垃圾收集

2016-07-25 15:50:13 295

转载 史上最详细测试用例设计实践-2:解决方案和总结

方法:这里针对业务流程的测试推荐使用“场景法”。(当然,个人理解业务流程是从系统整体来把握的,局部角度来看,有些只算是“操作流程”,但是这个区别并不影响方法的使用)举例:史上最详细测试用例设计实践总结 Part2" title="测试思想-测试设计 史上最详细测试用例设计实践总结 Part2" border="0"> 分析:先考虑用户使用场景场景1:列表有数据,用户把数

2016-07-22 17:45:34 3649

转载 史上最详细测试用例设计实践-1:用例划分与设计

步骤1:用例划分1.按系统模块划分2.按性质分类划分3.按关联紧密程度划分 1.按系统模块划分一般设计比较好的系统软件,都会把功能进行分类,并以模块的方式布局在用户界面上,如图:【目标管理】,【课程管理】,【学员管理】,大模块下再分小模块,比如【课程管理】模块又分【课程列表】,【项目资源管理】。史上最详细测试用例设计实践总结 Part1" title="测试思想-测试设

2016-07-22 17:43:02 13125 1

转载 如何进行兼容性测试

这个问题说简单也很简单,说难也难。为何说它简单呢?把全部需要兼容的环境都过一遍,不就好了,有啥的呢?那又为何说它难呢?全部兼容的环境都过一遍,需要多少时间呀,而且也可能没那么多环境设备呀(本文暂不谈缺乏设备的情况)。那咋办呢? 一种可能是用工具、开发工具,比如测试IE兼容可用IETester,这种做法也不是说不行,但是结果可能不太准确,另外如果是自己开发工具,这个投入也可能比较大,很多公司

2016-07-22 15:36:25 3379

Appium+RF实现手机应用的自动化测试Android篇

本文主要介绍了如何使用Robotframework结合Appium实现对Android应用的自动化测试,从概念介绍,如何安装和部署到示例脚本一应具有,相信读者通过本文可基本掌握其用法。

2017-03-12

Appium+RF实现手机应用的自动化测试-iOS篇

本文主要介绍了如何使用Appium和Robotframework实现对iOS应用的自动化测试,从概念介绍,如何安装和部署到示例脚本一应具有,相信读者通过 本文可基本掌握其用法。

2017-03-12

Appium+RF实现手机应用的自动化测试-Android篇

本文主要介绍了如何使用Robotframework结合Appium实现对Android应用的自动化测试,从概念介绍,如何安装和部署到示例脚本一应具有,相信读者通过本文可基本掌握其用法。

2017-03-12

敏捷测试模式之Scrum及其实践

本文首先简单介绍了敏捷开发模式和Scrum,之后详细介绍了在测试团队的具体实践以及作者的经验总结。

2017-03-12

敏捷开发模式Scrum中文介绍PPT

当前非常流行的开发测试模式:敏捷开发模式Scrum的中文介绍PPT,看过之后应该对Scrum有一个很好的理解了。

2013-11-06

非常好用的最新版VM10注册机

非常好用的最新版VM10注册机,VMware Workstation最新推出了10,配置该注册机,免费使用。爽

2013-11-06

vsts team test简介

这是我写的关于微软的团队测试的一个简单介绍的ppt,希望对你有用

2008-12-16

空空如也

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

TA关注的人

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