不管是 Web 系统,还是移动 APP,前后端逻辑的分离设计已经是常态化,相互之间通过 API 调用进行数据交互.在基于 API 约定的开发模式下,如何加速请求 / 响应的 API 测试,让研发人员及早参与到调试中来呢?既然 API 是基于约定开发,为何不按照这个规范编写测试用例,直接进入待测试状态,使用自动化的方式来推进研发过程的质量改进呢?遵循:测试 -> 重构 -> 测试 -> 重构,这样的闭环,过程产出的质量会更加可控,在重构的同时进行快速的功能回归验证,大大提高效率.下面主要讲…
前言: 在前进中去发现自己的不足,在学习中去丰富自己的能力,在放弃时想想自己最初的目的,在困难面前想想怎么踏过去.在不断成长中去磨炼自己. 正文: 时间轴 flask + Python3 实现的的API自动化测试平台---- IAPTest接口测试平台 这篇文章已经发表了两个多月了,IAPTest测试平台从最初17年6月份构想的开始,到17年7月13的正式创立代码仓库,到7月21日第一版的完结,再到7月23日的阿里云的部署.期间多次调试,多次去修改,在十多天的开发中,第一版上线了,因为有之前ji…
转载:http://www.jianshu.com/p/6249f9a9e9c4 什么是Cucumber?什么是BDD?这里不细讲,不懂的直接查看官方:https://cucumber.io/ 什么是Rest Assured?传送门:https://github.com/rest-assured/rest-assured 以下以java为开发语言,快速搭建一个cucumber+Rest Assured的api自动化测试平台. 1. 用IDEA 新建一个Maven工程,并pom文件添加如下配置:…
重构:发现测试的价值 回到起点,测试要解决什么问题,为什么要做API自动化测试平台?做这个平台,不是为了满足老板的提倡全民自动化的口号,也不是为了浮夸的KPI,更不是宣传自动化可以解决一切问题,发现所有bug.叔本华说过一句话:由于频繁地重复,许多起初在我们看来重要的事情逐渐变得毫无价值.如果API测试仅仅依靠纯手工的执行,很快将会面临瓶颈,因为每一个功能几乎都不能是第一次提交测试后就测试通过的,所以就需要反复bug修复.验证,以及回归的过程.另外,很多的API测试工作手工做起来非常的繁琐,甚至…
一.介绍: 在测试和开发中,有一款API测试工具一直占据着武林盟主的地位,那就是声名远播的Google公司的Postman. Postman原先是Chrome浏览器的一个插件,后面发展成了一个应用程序,一直被武林同道所热爱:But,但是呢要想做到无人值守的运行API测试,就要引入赢两个个工具,实际上是两个个框架,她就是Newman和Jenkins:Newman是针对Postman的导出数据,然后批量执行,可以实现自动执行API测试:Jenkins是持续集成平台,所有的测试框架,可以通过执行命令,…
这是一个Restful API自动化测试框架,这是一个能让你写出高可读性测试代码的测试框架! 项目目标 话说目前行业内,Restful API自动化测试框架已经不是稀罕物了,各个语言都有自己的实现机制.拿Java的Jersey来讲,它本身就提供了一个API测试框架-Jersey Test Framework.能够帮助我们写API测试,但是这里我们想做的是另一套. 观察到Jersey使用了Fluent interface的模式来让代码可读性更高,比如下面: String responseMsg =…
最近自己在学习用postman+newman+jenkins实现API自动化测试,这里做个回顾和记录.(此次是在windows上进行的环境搭建) 一.说明 1.大致思路:利用postman做接口调试所搜集的collection导出.json文件,再利用newman命令运行.json文件和得出测试结果,最后集成到jenkins实现自动化. 2.环境说明:postman基于JavaScript语言,postman的脚本(json文件)运行依赖newman环境,而newman环境依赖JavaScrip…
第六章.API自动化测试 (一)工具实现 目前大众接口测试的工具有:Postman.SoupUI.jmeter他们的特点介绍有人做个宏观的研究,这里进行引用:https://blog.csdn.net/huilan_same/article/details/75413482 根据文章里的描述可知:1,支持的接口类型与测试类型 功能上Jmeter最为强大,可以测试各种类型的接口,不支持的也可以通过网上或自己编写的插件进行扩展.SoapUI专门针对HTTP类型的两种接口,其初衷更是专门测试Soap类…
废话不多说,直接上代码截图: 我们首先来看看整个工程的目录结构,这样以便于了解项目的调用关系:config   #这里是配置包 -- base_url.py 具体配置了被测系统的url and path 信息 -- config.py 具体配置了邮件服务器,账号密码及测试数据目录等 data  # 这里存放了测试数据 --login_api_data.xlsx  写入了api要测试的数据 lib  # 这里存放了一些工具类 --generateTestCases.py  这个文件是使用不同参数组…
Postman 最基本的功能用来重放请求,并且配合良好的 response 格式化工具. 高级点的用法可以使用 Postman 生成各个语言的脚本,还可以抓包,认证,传输文件. 仅仅做到这些还不能够满足一个系统的开发,或者说过于琐碎,你仍需要频繁地在开发环境,测试环境,生产环境中来回切换.单一的请求也不够,你需要维护系统所有 API 的请求,并且每个请求还带有不同的 querystring 和 body. Collection 对服务器端的所有请求按功能或者业务模块进行组织,使用 markdow…
背景介绍 相信大部分开发人员和测试人员对 postman 都十分熟悉,对于开发人员和测试人员而言,使用 postman 来编写和保存测试用例会是一种比较方便和熟悉的方式.但 postman 本身是一个图形化软件,相对较难或较麻烦(如使用 RPA)实现自动化测试.幸运的是,postman 还提供了一个命令行工具 newman,我们可以借助 postman + newman 来实现 API 自动化测试. 名词解析 1. Collection Collection 是一组保存的请求,postman 中…
**背景: 1.平时测试接口,总是现写代码,对测试用例的管理,以及测试报告的管理持久化做的不够,              2.工作中移动端开发和后端开发总是不能并行进行,需要一个mock的依赖来让他们并行开发.              3.同时让自己锻炼去开发测试平台,掌握flask开发程序,提高自己的业务水平.整体思路:    1.利用flask+bootstrap来进行web界面开发,对接口,接口测试用例,定时任务,测试报告的持续集成.                          …
原文链接: 1.平时测试接口,总是现写代码,对测试用例的管理,以及测试报告的管理持久化做的不够, 2.工作中移动端开发和后端开发总是不能并行进行,需要一个mock的依赖来让他们并行开发. 3.同时让自己锻炼去开发测试平台,掌握flask开发程序,提高自己的业务水平. 整体思路: 1.利用flask+bootstrap来进行web界面开发,对接口,接口测试用例,定时任务,测试报告的持续集成. 2.IAPTest支持接口用例管理,接口多用例测试,支持定时测试任务,测试报告持久化 3.目前mock服务…
**背景: 1.平时测试接口,总是现写代码,对测试用例的管理,以及测试报告的管理持久化做的不够,              2.工作中移动端开发和后端开发总是不能并行进行,需要一个mock的依赖来让他们并行开发.              3.同时让自己锻炼去开发测试平台,掌握flask开发程序,提高自己的业务水平. 整体思路:    1.利用flask+bootstrap来进行web界面开发,对接口,接口测试用例,定时任务,测试报告的持续集成.                         …
最近在进行一个老项目的升级,第一步是先将node版本从4.x升级到8.x,担心升级会出现问题,所以需要将服务的接口进行验证:如果手动输入各种URL,人肉check,一个两个还行,整个服务..大几十个接口,未免太浪费时间了-.-:因为是一个纯接口服务的项目,所以打算针对对应的API进行一波自动化测试:所以就开始寻找对应的工具,突然发现,平时使用的PostMan貌似也是支持写测试用例的-.-,所以就照着文档怼了一波:一下午的时间,很是激动,之前使用PostMan仅限于修改Header,添加Body发…
Spring Boot需要写大量的Junit代码来测试REST API, 这点让不了解代码的人很头疼.如果使用REST client工具测试REST API,很多REST Client工具是不支持自动化测试的,每次都在进行重复的测试,这也会耗费太多的时间去做重复的工作.急需一个适合测试Spring Boot REST API的工具. Wisdom RESTClient专为解决测试Spring Boot REST API而生,它支持自动化测试RESTful API,输出精美的测试报告,并且自动生成…
现在,越来越多的 Web 应用转向了 RESTful 的架构,很多产品和应用暴露给用户的往往就是一组 REST API,这样有一个好处,用户可以根据需要,调用不同的 API,整合出自己的应用出来.从这个角度来讲,Web 开发的成本会越来越低,人们不必再维护自己的信息孤岛,而是使用 REST API 互联互通 那么,作为 REST API 的提供者,如何确保 API 的稳定性与正确性呢?全面系统的测试是必不可少的.Java 程序员常常借助于 JUnit 来测试自己的 REST API,不,应该这样…
自从开始做API开发之后,我就在寻找合适的API测试工具.一开始不是很想用Chrome扩展,用的WizTools的工具,后来试过一次Postman之后就停不下来了,还买了付费的Jetpacks.推出Team Sync Beta之后我又把这个工具推广给团队,作为API文档使用.看到中文网络上关于这个工具的文章并不多,于是决定写一篇小文介绍一下. 一.基本功能 Postman的功能在文档中有介绍.不过文档略啰嗦,这里简单介绍一下主界面,入门功能就都提到了. Collections:在Postman中…
一.API 测试的基本步骤 通常来讲,API 测试的基本步骤主要包括以下三大步骤: 1.准备测试数据: 2.通过通用的或自己开发的API测试工具发起对被测API的request: 3.验证返回结果的response. 常用的API测试工具有命令行工具cURL.图形界面工具Postman或SoapUI,支持API性能测试的JMeter等. 二.API复杂场景举例 通过使用基础的测试工具,可以做简单场景的API测试:而项目进行过程中,为了解决实际的一些问题,我们会设计更加复杂的测试场景,下面列举几个…
我相信自动化技能已经成为高级测试工程师总体技能的标配.敏捷和持续测试破坏了传统的测试自动化实践,导致测试工程师重新考虑自动化的完成方式.当今的自动化工程师需要在GUI的下方深入到API级别完成软件质量的保护. 导致转向API测试的第二个变化是物联网.物联网是具有嵌入式功能的日常对象,允许它使用HTTP或HTTPS在Web上进行通信以与远程后端服务进行通信. 下面分享一下API测试的基础使用指南: 什么是API测试? 应用程序编程接口(API)是充当软件组件接口的规范.大多数功能测试都涉及测试网页…
测试的好处 每个人都同意测试很重要,但并不是所有人都会去做.每当你添加新的代码,测试可以保证你的api按照预期运行.通过postman,你可以为所有api编写和运行测试脚本. postman中的测试 在postman中,你可以通过添加脚本到请求当中,来使用动态变量.在请求之间传递数据以及编写测试.写在Pre-request Scripttab中的代码会在请求发送之前执行,而写在Teststab中的代码会在响应到达之后执行. 测试用的语言是JavaScript.所以对于前端开发者来说几乎没有学习成…
https://segmentfault.com/a/1190000005055899 1. 安装 两种安装方式,我热衷于以chrome插件形式安装 Chrome插件 Mac App 2. 发送请求 Postman最基础的功能就是发送http请求,支持GET/PUT/POST/DELETE,还有很多我不认识的http方法. 通过填写URL.header.body等就可以发送一个请求,这对于我们平时做一些简单的测试是够用的. 如果你的应用需要用到登录验证,可以通过填写Authorization以满…
一.环境配置 Postman postman 的具体使用可以参考另外一篇文章:postman 做接口测试之学习笔记 Newman 第一步,安装nodejs. 第二步,在nodejs命令行安装newman,即命令行输入如下命令: npm install -g newman jenkins 去官网(https://jenkins.io/index.html)下载jenkins 二.Postman + Newman + jenkins 的使用 1. 在postman中导出testcase 文件夹(即存…
原文:https://github.com/rest-assured/rest-assured/wiki/Usage 本文github地址:https://github.com/RookieTester/rest-assured-doc 注意,如果您正在使用1.9.0或者更早的版本请参考旧文档. REST Assured是一个可以简化HTTP Builder顶层 基于REST服务的测试过程的Java DSL(针对某一领域,具有受限表达性的一种计算机程序设计语言).它支持发起POST,GET,PU…
0基础上手教程 @jmeter的使用 jmeter是一个基于java语言编写的开源测试工具,广泛应用于接口测试,性能测试,自动化测试. 接口自动化的编写教程,将于后续分享. 问题一:为什么用ant,而不用jmeter自带的方法生成测试报告 jmeter内部提供了gui运行方式,如下: jmeter -n -t <testplan filename> -l <listener filename> -e -o <dictoryname> 示例: jmeter -n -t t…
http://lbsyun.baidu.com/index.php?title=jspopular…
一.   建立测试用例 (一)   基本概念 soapUI 中工程的层次结构 项目名称:位于最上层 (BookStoreTest),项目可以包含多个服务的定义. REST 服务定义:服务其实是对多个 REST 资源的一个分组,在我们的例子中只有一个服务 BookStoreServie REST 资源定义:具体描述该资源的名称,URI, 参数等属性 REST 方法定义:针对每个资源的方法 (GET,POST,PUT,DELETE 等 ),图 1 中的方法名就是 GetBookList REST 操…
Android开发平台的发展(并不是很懂) Eclipse 首先是由IBM的一个项目小组花了两年时间开发完成的,当时主要解决IBM开发工具 Visual Age for Java 和 WebSphere Studio无法集成的问题,底层技术薄弱,无法满足现实需要.同时Miscrosoft Vistual Stadio的强大迫使Eclipse采取开源的策略,之后IBM为了推行Eclipse,邀请业界公司加盟Eclipse,2001 年 12 月,IBM 向世界宣布了两件事,第一件是创建开源项目,既…