无需编写代码,用接口管理工具 eoLinker 高效完成API测试流程相关业务
引言
作为开发人员,有时需要协助市场部门进行开发,比如在市场推广中,经常通过给用户赠送优惠券来提高复购率。这篇文章,将介绍如何使用接口管理工具 eoLinker 的自动化测试 [UI模式] 构建此业务逻辑。
关键词
市场推广、定时任务、数据关联
接下来,我们以给用户赠送优惠券为例进行流程的搭建。搭建完整个流程后,你会发现不再需要编写复杂的代码了,只需简单几步就能完成。
目录
1、流程设计
2、流程调试
3、定时任务
4、使用tips
5、小结
1、流程设计
我们先确定完成该业务逻辑需要用到的接口:
接口1 登录:最基本的登录接口,市场推广人员登录自己的账号。
接口2 获取用户列表:在发放优惠券之前,先确定用户名单。
接口3 获取优惠券列表:获取各种类型的优惠券。
接口4 给用户赠送优惠券:以接口2和接口3的返回结果作为请求参数。
接口5 退出登录:完成业务流程后,退出登录。
按照上面的流程设计,我新建了下图中的5个接口,同时调整好正确的测试顺序。
接口1 的返回参数 statusCode ,我设置了4个状态码,刚好对应4种可能的情况,如果有更多可能性,可以继续补充。
若API文档已建立了相关的接口,在自动化普通UI模式下可以批量添加已有接口。
当我们编辑好接口,完成好对数据关联的设置,这时候只需回到自动化测试页面,点击“ 测试全部 ”就可以完成测试了。如何进行数据关联的内容将会在下文介绍。
下图可以看到,我们完成正确的设置后,得到了成功的测试结果。
2、流程调试
在流程测试中,上一个接口的返回参数可能会是下一个接口的请求参数。这时候就需要用上 关联数据 。比如给用户发送优惠券,就需要传递上一个接口返回的优惠券 couponID 。下面通过两个步骤来进行数据关联:
- 第一步:获取优惠券列表的返回值
我们有3种不同面值的优惠券:满100减10、满1000减100和满10000减1000,对应着不同 couponID 。
- 第二步:填写接口4的请求参数
接口4的请求参数就是接口2和接口3的返回参数。
点击后面“关联”按钮,会出现以下弹框,选择要关联的数据,比如下图选中了 couponID 。
生成绑定值。如图中 userID 和 couponID 都生成了绑定值。
<response[39677].userList.userID>参数值的格式是eoLinker规定的关联参数形式,使用单书名号包裹的返回值 response [接口的关联ID(可在单例列表进行查看)].子参数。
如果返回值的子参数是数组,那就需要加元素序号,第一个元素为0,以此类推。如couponList[0]。
关联参数可以在 请求头部、请求体(form-data、raw),REST参数 中使用。
在调试中,测试报告也是十分重要的。
使用普通UI自动化模式,测试完毕后,会生成详细的测试报告,通过查看详情就能看到完整的测试报告。如果测试失败了,通过测试报告也能及时进行修正。
3、定时任务
在本文的业务流程中,我们可以通过定时测试任务,让整个流程自动执行。
首先在自动化测试的二级菜单--定时测试任务中,添加该任务。添加任务之前需要添加分组,比如这里新建了“赠送用户优惠券”的分组。
这里需要填写名称:"给用户赠送优惠券",时间设置“永久有效”,周期为“一周”,日期选择“周一到周五的早10点和晚六点”,按照这样的规则发送优惠券。
在用例列表中选择之前设置好的用例:优惠券
确认测试环境,填写我的邮箱,再选择通知类型。这样设置后,以后我们只需通过查看邮件,就可以获取接口测试的所有情况,确保接口正常运行。
如上图,每次的测试历史可以在测试任务列表下载,十分方便。
4、使用tips
请求参数处理
有些参数需要在发送前进行加密,例如密码等。在 eoLinker 中,通过代码注入功能就可以对参数 userPassword 加密,比如
对于接口1,我使用 eoLinker 内置的加密方法对请求参数 userPassword 进行 MD5 和 SHA1 加密。
在代码注入功能的右侧导航栏,eoLinker 目前内置了包括 MD5 在内的3种加密方式,点击就可以直接调用了。如果想用其他的加密方式,只需要了解一些简单语法你就可以使用 Javascript、Jquery 代码进行加密。当然也可以在发送前对请求参数做其他处理。
返回参数匹配
除了对请求参数进行处理外,对返回的参数也需要进行校验,在这个业务中,我们只选择特定的用户发送相应优惠券,这就需要通过校验来对返回的参数进行匹配。
对于接口2,我需要先对返回值进行判断,再决定自动化测试流程是否继续,eoLinker校验失败时默认停止测试。如果不想停在这里的话,可以勾选下方的“ 该用例校验位失败时,依然执行下一个用例 ”。这样即便失败也会继续测试下去。
下面说一下校验规则
校验规则:
statusCode为字符串000000
列表中的couponID是1,couponName为满100减10
eoLinker填写的校验规则:
填写匹配规则的过程中,主要为参数选择正确的类型(string、int等)以及层级关系。比如在这里参数 couponList 和 couponID 就是不同的类型,而couponID 是 couponList 的子字段。
5、小结
最后,完成任务退出登录,这样一个完整的业务流程就完成了。通过自动化测试的UI模式进行业务流程测试,既不用编写代码,又能通过测试报告及时修正错误,相比传统的测试方式极大地提高了工作效率。
eoLinker,高效、专业、规范,让接口管理更加简单!
更多更新内容请前往eoLinker微信公众号,本文转自eoLinker公众号。
无需编写代码,用接口管理工具 eoLinker 高效完成API测试流程相关业务的更多相关文章
- 开源免费接口管理平台eoLinker AMS开源版 V3.2.0更新,增加批量导出导入接口功能!
eoLinker是一个免费开源的针对开发人员需求而设计的接口管理工具,通过简单的操作来帮助开发者进行接口文档管理.接口自动化测试.团队协作.数据获取.安全防御监控等功能,降低企业的接口管理成本,提高项 ...
- 【开源】接口管理平台eoLinker AMS 开源版3.1.5同步线上版!免费增加大量功能!
概要:eoLinker是一个免费开源的针对开发人员需求而设计的接口管理工具,通过简单的操作来帮助开发者进行接口文档管理.接口自动化测试.团队协作.数据获取.安全防御监控等功能,降低企业的接口管理成本, ...
- 【工具】-RAP接口管理工具
前言 RAP 是一个可视化接口管理工具, 通过分析接口结构,动态生成模拟数据,校验真实接口正确性, 围绕接口定义,通过一系列自动化工具提升我们的协作效率. 在 RAP 中,您可定义接口的 URL.请求 ...
- API接口管理工具postman等
国外 postman Swagger:国外比较流行的一款管理工具,英文配置,需要一定的英文基础和服务器搭建基础,学习成本较高. 国内 Apizza: 风格类似postman,熟悉postman的会比较 ...
- Api接口管理工具推荐
在App开发过程中少不了跟服务端打交道,各种HTTP接口调试.返回数据处理占据了不少开发时间,一款好的接口管理工具就非常有必要了.接口管理工具一方面起到链接后台开发人员和App开发人员的作用,另一方面 ...
- 数据接口管理工具 thx RAP
RAP是数据接口管理工具.在开发时前端将请求转至RAP,由RAP提供模拟数据:而后端使用RAP测试接口的正确性.这样RAP就成为了开发过程中的强 依赖,进而确保接口文档的实时正确性.RAP采用JSON ...
- 可视化接口管理工具RAP,模拟数据,校验接口
最近看到一个不错的接口管理的工具,分享一下 RAP ppt介绍:http://www.imooc.com/video/11060 RAP是一个可视化接口管理工具 通过分析接口结构,动态生成模拟数据,校 ...
- HTTP小幺鸡接口管理工具安装与配置说明
http://www.xiaoyaoji.cn/doc/TxybXPTdx 小幺鸡接口管理工具安装说明 使用可以参考:https://blog.csdn.net/qincidong/article/d ...
- 在线接口管理工具-eoapi
为了方便和前端沟通,临时在局域网搭建了一个接口管理工具,查了一些资料都说eoapi不错,那就试了一下: 1.安装 要在服务器或者自己的电脑,准备web环境,Linux可以是Apache/nginx , ...
随机推荐
- PHP第五课 自己主动类型转换与流程控制
学习概要: 1.了解自己主动类型转换的有哪些 2.了解主要的流程控制语句 3.实例:实现日历表格的写法 自己主动类型转换 1)整型转字符串 echo $num."abc"; 2)字 ...
- Java Web开发基础(1)-Servlet
概述 Servlet技术是对webserver的扩展,要理解这个,可能先了解一下什么是Webserver以及它的功能,特别是它的不足是非常有帮助的,可參考:点击打开链接.另外.Servlet也是一个用 ...
- java线程和线程池的使用
java线程和线程池 一.创建多线程的方式 java多线程非经常见.怎样使用多线程,怎样创建线程.java中有两种方式,第一种是让自己的类实现Runnable接口.另外一种是让自己的类继承Thread ...
- BZOJ 1798: [Ahoi2009]Seq 维护序列seq (线段树乘法加法的混合操作)
题目:点击打开链接 大意:一个数组.三个操作.第一种是区间[a,b]每一个数乘乘,另外一种是区间[a,b]每一个数加c,第三种是查询[a,b]区间的和并对p取摸. 两种操作就不能简单的仅仅往下传 ...
- Java设计模式菜鸟系列(一)策略模式建模与实现
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39721563 今天開始咱们来谈谈Java设计模式. 这里会结合uml图形来解说,有对uml ...
- WAMP 2.5 "FORBIDDEN" error
对于web开发人员来说.远程訪问站点能够非常方便的提高开发站点开发效率,那么在wamp环境下,默认仅仅支持本地訪问,那么怎样訪问开启远程站点訪问呢? 开启方法: wamp2.5(32bit) 集成环境 ...
- phonegap运行原理
用phonegap(现在名为cordova)来开发手机应用,给人的感觉,就是写了一些HTML5的网页,加上javascript,打包安装在手机上,然后就可以运行了,并且还能访问手机的各种功能和硬件,太 ...
- 【bzoj1015】[JSOI2008]星球大战starwar
给定一个无向图,求联通块个数,以及k次每次摧毁一个点后的联通块个数 将边和摧毁的点全记录下来,反着做即可 注意被摧毁的点不能算作联通块 #include<algorithm> #inclu ...
- frameset的target属性
使用frameset时的target属性 (2012-09-18 08:19:31) 转载▼ 分类: java技术之路 一般常用的有四个属性 _blank 浏览器总在一个新打开.未命名的窗口中载入 ...
- PropertyInfo 类
[AttributeUsage(AttributeTargets.Property)] //Models 特性 public class CanWriteAttribute : Attr ...