引言

作为开发人员,有时需要协助市场部门进行开发,比如在市场推广中,经常通过给用户赠送优惠券来提高复购率。这篇文章,将介绍如何使用接口管理工具 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公众号。

立即体验:https://www.eolinker.com

无需编写代码,用接口管理工具 eoLinker 高效完成API测试流程相关业务的更多相关文章

  1. 开源免费接口管理平台eoLinker AMS开源版 V3.2.0更新,增加批量导出导入接口功能!

    eoLinker是一个免费开源的针对开发人员需求而设计的接口管理工具,通过简单的操作来帮助开发者进行接口文档管理.接口自动化测试.团队协作.数据获取.安全防御监控等功能,降低企业的接口管理成本,提高项 ...

  2. 【开源】接口管理平台eoLinker AMS 开源版3.1.5同步线上版!免费增加大量功能!

    概要:eoLinker是一个免费开源的针对开发人员需求而设计的接口管理工具,通过简单的操作来帮助开发者进行接口文档管理.接口自动化测试.团队协作.数据获取.安全防御监控等功能,降低企业的接口管理成本, ...

  3. 【工具】-RAP接口管理工具

    前言 RAP 是一个可视化接口管理工具, 通过分析接口结构,动态生成模拟数据,校验真实接口正确性, 围绕接口定义,通过一系列自动化工具提升我们的协作效率. 在 RAP 中,您可定义接口的 URL.请求 ...

  4. API接口管理工具postman等

    国外 postman Swagger:国外比较流行的一款管理工具,英文配置,需要一定的英文基础和服务器搭建基础,学习成本较高. 国内 Apizza: 风格类似postman,熟悉postman的会比较 ...

  5. Api接口管理工具推荐

    在App开发过程中少不了跟服务端打交道,各种HTTP接口调试.返回数据处理占据了不少开发时间,一款好的接口管理工具就非常有必要了.接口管理工具一方面起到链接后台开发人员和App开发人员的作用,另一方面 ...

  6. 数据接口管理工具 thx RAP

    RAP是数据接口管理工具.在开发时前端将请求转至RAP,由RAP提供模拟数据:而后端使用RAP测试接口的正确性.这样RAP就成为了开发过程中的强 依赖,进而确保接口文档的实时正确性.RAP采用JSON ...

  7. 可视化接口管理工具RAP,模拟数据,校验接口

    最近看到一个不错的接口管理的工具,分享一下 RAP ppt介绍:http://www.imooc.com/video/11060 RAP是一个可视化接口管理工具 通过分析接口结构,动态生成模拟数据,校 ...

  8. HTTP小幺鸡接口管理工具安装与配置说明

    http://www.xiaoyaoji.cn/doc/TxybXPTdx 小幺鸡接口管理工具安装说明 使用可以参考:https://blog.csdn.net/qincidong/article/d ...

  9. 在线接口管理工具-eoapi

    为了方便和前端沟通,临时在局域网搭建了一个接口管理工具,查了一些资料都说eoapi不错,那就试了一下: 1.安装 要在服务器或者自己的电脑,准备web环境,Linux可以是Apache/nginx , ...

随机推荐

  1. starUML 2.5.1 for mac

    http://www.macupdate.com/app/mac/55571/staruml/download 一直在windows下使用 star UML,占用资源少,简洁易用. Mac下也能够用了 ...

  2. FFmpeg滤镜使用指南

    文件夹 1. FFmpeg滤镜文档 2. 演示样例   2.1 缩放   2.2 视频加速   2.3 滤镜图,链和滤镜关系   2.4 多个输入覆盖同一个2x2 网格   2.5 转义字符   2. ...

  3. poj 3020 Antenna Placement(二分无向图 匈牙利)

    Antenna Placement Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6438   Accepted: 3176 ...

  4. POJ 1741 Tree 树形DP(分治)

    链接:id=1741">http://poj.org/problem?id=1741 题意:给出一棵树,节点数为N(N<=10000),给出N-1条边的两点和权值,给出数值k,问 ...

  5. pygame save that Stream as video output.

    python - how to save pygame camera as video output - Stack Overflow  https://stackoverflow.com/quest ...

  6. Ned的难题

    题目描述 Ned再也看不下去Robert的种种恶习,于是他决定出一道题来让他醒悟. Ned的题目是这样: 给出一个有n个数的序列,求其中所有连续子序列的数的最大公因数的乘积模1000000009的值. ...

  7. C语言内存管理总结

    更新: 2018/01/09 增加free() 更新: 2018/04/13 修改部分文字与表格背景色与默认颜色相同 //# TODO: malloc, alloc, calloc, realloc ...

  8. css的一些命名规范

    网页制作中规范使用DIV+CSS命名规则,可以改善优化功效特别是团队合作时候可以提供合作制作效率,具体DIV CSS命名规则CSS命名大全内容篇. 常用DIV+CSS命名大全集合,即CSS命名规则 D ...

  9. [App Store Connect帮助]三、管理 App 和版本(2.4)输入 App 信息:提供加密出口合规证明文稿

    上传至 App Store Connect 的 App 被上传至位于美国的 Apple 服务器.如果您提交 App 的目的是为了在 App Store 上分发您的 App 或通过美国或加拿大的境外 T ...

  10. 《Akka应用模式:分布式应用程序设计实践指南》读书笔记9

    性能 这也是一个比较大的问题,因为性能不一定是Akka本身的问题,还可能是你代码写的有问题. 优化的第一步就是找出性能的瓶颈,隔离出应用程序里面比较耗时的部分,然后尝试对其优化,减少需要耗费的时间成本 ...