引言

除了测试单个接口,我们常常需要对多个有数据或者逻辑关联的接口进行业务流程测试,例如获取验证码-注册-登录。传统测试业务流程需要编写一系列测试代码,现在通过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,高效、专业、规范,让接口管理更加简单!

官方网站:https://www.eolinker.com

无需编写代码,API业务流程测试,零代码实现的更多相关文章

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

    引言 作为开发人员,有时需要协助市场部门进行开发,比如在市场推广中,经常通过给用户赠送优惠券来提高复购率.这篇文章,将介绍如何使用接口管理工具 eoLinker 的自动化测试 [UI模式] 构建此业务 ...

  2. .NET Core TDD 前传: 编写易于测试的代码 -- 缝

    有时候不是我们不想做单元测试, 而是这代码写的实在是没法测试.... 举个例子, 如果一辆汽车在产出后没完成测试, 那么没人敢去驾驶它. 代码也是一样的, 如果项目未能进行该做的测试, 那么客户就不敢 ...

  3. Hadoop基础-MapReduce入门篇之编写简单的Wordcount测试代码

    Hadoop基础-MapReduce入门篇之编写简单的Wordcount测试代码 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本文主要是记录一写我在学习MapReduce时的一些 ...

  4. .NET Core TDD 前传: 编写易于测试的代码 一 -- 缝

    转载于: https://www.cnblogs.com/cgzl/p/9365955.html 有时候不是我们不想做单元测试, 而是这代码写的实在是没法测试.... 举个例子, 如果一辆汽车在产出后 ...

  5. MySql数据库列表数据分页查询、全文检索API零代码实现

    数据条件查询和分页 前面文档主要介绍了元数据配置,包括表单定义和表关系管理,以及表单数据的录入,本文主要介绍数据查询和分页在crudapi中的实现. 概要 数据查询API 数据查询主要是指按照输入条件 ...

  6. API Studio 5.1.2 版本更新:加入全局搜索、支持批量测试API测试用例、读取代码注解生成文档支持Github与码云等

    最近在EOLINKER的开发任务繁重,许久在博客园没有更新产品动态了,经过这些日子,EOLINKER又有了长足的进步,增加了更多易用的功能,比如加入全局搜索.支持批量测试API测试用例.读取代码注解生 ...

  7. .NET Core TDD 前传: 编写易于测试的代码 -- 构建对象

    该系列第1篇: 讲述了如何创造"缝".  "缝"(seam)是需要知道的概念. 本文是第2篇, 介绍的是如何避免在构建对象时写出不易测试的代码. 本文的概念性内 ...

  8. .NET Core TDD 前传: 编写易于测试的代码 -- 依赖项

    第1篇: 讲述了如何创造"缝".  "缝"(seam)是需要知道的概念. 第2篇, 避免在构建对象时写出不易测试的代码. 本文是第3篇, 讲述依赖项和迪米特法则 ...

  9. .NET Core TDD 前传: 编写易于测试的代码 -- 全局状态

    第1篇: 讲述了如何创造"缝".  "缝"(seam)是需要知道的概念. 第2篇, 避免在构建对象时写出不易测试的代码. 第3篇, 依赖项和迪米特法则. 本文是 ...

随机推荐

  1. python 函数和函数式编程

    什么是函数 调用函数 创建函数 变长参数 函数式编程 变量的作用域 生成器 1 什么是函数 函数是对程序逻辑进行结构化或过程化的一种编程方法.能将整块代码巧妙地隔离成易于管理 的小块,把重复代码放到函 ...

  2. PHP array_diff_key()

    定义和用法 array_diff_key() 函数返回一个数组,该数组包括了所有在被比较的数组中,但是不在任何其他参数数组中的键. 语法 array_diff_key(array1,array2,ar ...

  3. 【Unity3D】 KeyCode 键码

    Key codes returned by Event.keyCode. These map directly to a physical key on the keyboard. KeyCode是由 ...

  4. js原生offsetParent解析

    offsetParent是个仅仅读属性,返回近期显示指定位置的容器元素的引用. 假设元素没有指定位置,近期的元素或者根元素(标准模式下是html,怪异模式下是body)就是offsetParent. ...

  5. PHP项目的设计过程

    过程说明: 1)产品部依据需求设计出原型图和需求文档. 2)产品部和需求方与技术一起过一遍需求. 这样能够让需求方确认需求:和所參与的技术(设计部,制作部,php,測试部等)对要设计的产品有一个大致的 ...

  6. android 5.0新特性学习总结之下拉刷新(一)

    android 5.0 后google最终在 support v4 包下 添加了下拉刷新的控件 项目地址: https://github.com/stormzhang/SwipeRefreshLayo ...

  7. Android studio 报错 gradel project sync failed Error:Cause: peer not authenticated

    在网上找了半天,应该是找不到gradel的路径,试了网上非常多方法.本人解决例如以下: 在android studio中设置gradle.打开File-> settings->Gradle ...

  8. SpringMVC高速实现文件上传功能

    SpringMVC为我们封装了上传文件的功能,如今就试用一下 须要的jar包 我用的是Maven项目,就不须要到处下载Jar包了 SpringMVC的搭建 首先要在applicationContext ...

  9. LeetCode208:Implement Trie (Prefix Tree)

    Implement a trie with insert, search, and startsWith methods. Note: You may assume that all inputs a ...

  10. 图结构练习—BFSDFS—判断可达性(BFS)

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2138 注意该图为有向图,1000个点应该最多有 ...