无需编写代码,API业务流程测试,零代码实现
引言
除了测试单个接口,我们常常需要对多个有数据或者逻辑关联的接口进行业务流程测试,例如获取验证码-注册-登录。传统测试业务流程需要编写一系列测试代码,现在通过eoLinker全UI界面,无需编写任何代码即可完成稍复杂的API测试。
关键词
流程化测试、自动化测试、数据关联
填写完接口文档后,我们往往要对多个有数据或者逻辑关联的接口进行API业务测试。精彩世界杯火热进行,现以为支持球队点赞业务来举个例子:
接口1 登录:在进行测试前我们需要先登录,将其返回的token字段作为后续接口的请求头字段。
接口2 获取球队列表:点赞之前我们需要先请求球队列表数组。
接口3 为球队点赞:将上一个接口的球队ID作为请求参数发送点赞请求。
接口4 退出登录:为了不影响浏览器的测试环境,我们需要退出登录将环境恢复到测试前。
如下图
若API文档已建立了相关的接口,在自动化普通UI模式下可以批量添加已有接口
接下来我会依次介绍如何处理复杂的参数、对返回值匹配、将上一个接口返回值作为请求参数值等等。
对请求参数进行处理
登录接口,我使用eoLinker内置的加密方法对请求参数userPassword进行MD5加密。
在请求前代码注入里,仅需要了解一些简单的对象赋值、for循环语法你就可以使用Javascript、Jquery对请求参数、请求头部等操作自如。
对返回参数进行匹配
对于接口2,我需要先对返回值进行判断,再决定自动化是否继续,eoLinker校验失败时默认停止测试。
校验规则:
- statusCode为字符串000000
- 列表中的第一个元素是中国队,teamID为数字1
eoLinker填写的校验规则:
填写匹配规则的过程中需要注意类型(string、int、boolean、float、array、object)以及层级关系。
上一个请求的返回值作为本次请求的请求参数
点赞喜欢的球队时,需要传递上一个接口返回的球队teamID。
获取球队列表的返回值:
第一步,填写接口2:获取球队列表的返回参数,为关联参数提供数据结构。
选中teamList的类型(选对了类型才能准确关联),增加子字段操作将teamName和teamID填入。
第二步,填写接口3:为球队点赞的请求参数。
点击后会出现以下弹框,选中teamID。
生成绑定值。
<response[11465].teamlist[0].teamid>是eoLinker规定的关联参数形式,使用单书名号包裹的返回值response[接口的关联ID(可在单例列表进行查看)].子参数。因为返回值的子参数teamList是数组,所以需要加元素序号,第一个元素为0,以此类推。关联参数可以在请求头部、请求体(form-data、raw),REST参数中使用。
测试报告
使用普通UI自动化模式,只需要动动鼠标就可以完成一系列的业务流程测试,生成详细的测试报告。
eoLinker,高效、专业、规范,让接口管理更加简单!
无需编写代码,API业务流程测试,零代码实现的更多相关文章
- 无需编写代码,用接口管理工具 eoLinker 高效完成API测试流程相关业务
引言 作为开发人员,有时需要协助市场部门进行开发,比如在市场推广中,经常通过给用户赠送优惠券来提高复购率.这篇文章,将介绍如何使用接口管理工具 eoLinker 的自动化测试 [UI模式] 构建此业务 ...
- .NET Core TDD 前传: 编写易于测试的代码 -- 缝
有时候不是我们不想做单元测试, 而是这代码写的实在是没法测试.... 举个例子, 如果一辆汽车在产出后没完成测试, 那么没人敢去驾驶它. 代码也是一样的, 如果项目未能进行该做的测试, 那么客户就不敢 ...
- Hadoop基础-MapReduce入门篇之编写简单的Wordcount测试代码
Hadoop基础-MapReduce入门篇之编写简单的Wordcount测试代码 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本文主要是记录一写我在学习MapReduce时的一些 ...
- .NET Core TDD 前传: 编写易于测试的代码 一 -- 缝
转载于: https://www.cnblogs.com/cgzl/p/9365955.html 有时候不是我们不想做单元测试, 而是这代码写的实在是没法测试.... 举个例子, 如果一辆汽车在产出后 ...
- MySql数据库列表数据分页查询、全文检索API零代码实现
数据条件查询和分页 前面文档主要介绍了元数据配置,包括表单定义和表关系管理,以及表单数据的录入,本文主要介绍数据查询和分页在crudapi中的实现. 概要 数据查询API 数据查询主要是指按照输入条件 ...
- API Studio 5.1.2 版本更新:加入全局搜索、支持批量测试API测试用例、读取代码注解生成文档支持Github与码云等
最近在EOLINKER的开发任务繁重,许久在博客园没有更新产品动态了,经过这些日子,EOLINKER又有了长足的进步,增加了更多易用的功能,比如加入全局搜索.支持批量测试API测试用例.读取代码注解生 ...
- .NET Core TDD 前传: 编写易于测试的代码 -- 构建对象
该系列第1篇: 讲述了如何创造"缝". "缝"(seam)是需要知道的概念. 本文是第2篇, 介绍的是如何避免在构建对象时写出不易测试的代码. 本文的概念性内 ...
- .NET Core TDD 前传: 编写易于测试的代码 -- 依赖项
第1篇: 讲述了如何创造"缝". "缝"(seam)是需要知道的概念. 第2篇, 避免在构建对象时写出不易测试的代码. 本文是第3篇, 讲述依赖项和迪米特法则 ...
- .NET Core TDD 前传: 编写易于测试的代码 -- 全局状态
第1篇: 讲述了如何创造"缝". "缝"(seam)是需要知道的概念. 第2篇, 避免在构建对象时写出不易测试的代码. 第3篇, 依赖项和迪米特法则. 本文是 ...
随机推荐
- Clojure:解决selmer模板不刷新的问题
当在REPL环境中尝试调试template的时候,会发现每次都需要重启REPL才能看到最新的变化.调查后发现,原来是每次启动REPL的时候,原来的template文件都被放到了target目录中,这样 ...
- 一键解决ScrollView嵌套ListView仅仅显示一行的问题
/** * 解决ScrollView嵌套ListView仅仅显示一行的问题 * * @param listView */ private void setListViewHeightBasedOnCh ...
- cppunit 的使用
原文: http://blog.csdn.net/abcdef0966/article/details/5699248
- (转)linux口令相关文件(/etc/passwd和/etc/shadow)
在linux中,口令文件在/etc/passwd中,早期的这个文件直接存放加密后的password,前两位是"盐"值,是一个随机数.后面跟的是加密的password.为了安全,如今 ...
- hdu 1010 Tempter of the Bone (奇偶性剪枝)
题意:有一副二维地图'S'为起点,'D'为终点,'.'是可以行走的,'X'是不能行走的.问能否只走T步从S走到D? 题解:最容易想到的就是DFS暴力搜索,,但是会超时...=_=... 所以,,要有其 ...
- Linux线程池在server上简单应用
一.问题描写叙述 如今以C/S架构为例.client向server端发送要查找的数字,server端启动线程中的线程进行对应的查询.将查询结果显示出来. 二.实现方案 1. 整个project以cli ...
- silverlight学习笔记——新手对silverlight的认识(1)
这几天在搞silverlight.虽然silverlight没有前途,但始终是微软的一门技术,界面基本上与WPF共通,用一下也无妨. 学习过程并没有我原先想得那么容易,有些地方捣鼓了很久.究其原因,是 ...
- Codeforces Round #332 (Div. 2)C. Day at the Beach 树状数组
C. Day at the Beach One day Squidward, Spongebob and Patrick decided to go to the beach. Unfortuna ...
- 《TCP/IP具体解释》读书笔记(21章)-TCP的超时与重传
TCP提供可靠的运输层. 它使用的方法之中的一个就是确认从还有一端收到的数据.但数据和确认都有可能会丢失.TCP通过在发送时设置一个定时器来解决这样的问题.假设当定时器溢出时还没有收到确认,它就重传该 ...
- PCB MS SQL 将字符串分割为表变量(表值函数)
Create FUNCTION [dbo].[SplitTable]( @s varchar(max), --待分拆的字符串 ) --数据分隔符 ),), col varchar(max)) --建立 ...