V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
vocalman
V2EX  ›  分享创造

无需编写代码, API 业务流程测试,零代码实现

  •  
  •   vocalman · 2018-07-10 15:31:46 +08:00 · 2964 次点击
    这是一个创建于 2353 天前的主题,其中的信息可能已经有所发展或是发生改变。

    引言

    除了测试单个接口,我们常常需要对多个有数据或者逻辑关联的接口进行业务流程测试,例如获取验证码-注册-登录。传统测试业务流程需要编写一系列测试代码,现在通过 eoLinker 全 UI 界面,无需编写任何代码即可完成稍复杂的 API 测试。

    关键词

    流程化测试、自动化测试、数据关联

    填写完接口文档后,我们往往要对多个有数据或者逻辑关联的接口进行 API 业务测试。精彩世界杯火热进行,现以为支持球队点赞业务来举个例子:

    接口 1 登录:在进行测试前我们需要先登录,将其返回的 token 字段作为后续接口的请求头字段。

    接口 2 获取球队列表:点赞之前我们需要先请求球队列表数组。

    接口 3 为球队点赞:将上一个接口的球队 ID 作为请求参数发送点赞请求。

    接口 4 退出登录:为了不影响浏览器的测试环境,我们需要退出登录将环境恢复到测试前。

    如下图

    image.png

    image.png

    若 API 文档已建立了相关的接口,在自动化普通 UI 模式下可以批量添加已有接口

    接下来我会依次介绍如何处理复杂的参数、对返回值匹配、将上一个接口返回值作为请求参数值等等。

    对请求参数进行处理

    登录接口,我使用 eoLinker 内置的加密方法对请求参数 userPassword 进行 MD5 加密。

    image.png

    在请求前代码注入里,仅需要了解一些简单的对象赋值、for 循环语法你就可以使用 Javascript、Jquery 对请求参数、请求头部等操作自如。

    对返回参数进行匹配

    对于接口 2,我需要先对返回值进行判断,再决定自动化是否继续,eoLinker 校验失败时默认停止测试。 校验规则:

    • statusCode 为字符串 000000
    • 列表中的第一个元素是中国队,teamID 为数字 1

    eoLinker 填写的校验规则:

    image.png

    填写匹配规则的过程中需要注意类型( string、int、boolean、float、array、object )以及层级关系。

    上一个请求的返回值作为本次请求的请求参数

    点赞喜欢的球队时,需要传递上一个接口返回的球队 teamID。 获取球队列表的返回值:

    image.png

    第一步,填写接口 2:获取球队列表的返回参数,为关联参数提供数据结构。

    image.png

    选中 teamList 的类型(选对了类型才能准确关联),增加子字段操作将 teamName 和 teamID 填入。

    第二步,填写接口 3:为球队点赞的请求参数。

    image.png

    点击后会出现以下弹框,选中 teamID。

    image.png

    生成绑定值。

    image.png

    <response[11465].teamlist[0].teamid>是 eoLinker 规定的关联参数形式,使用单书名号包裹的返回值 response[接口的关联 ID (可在单例列表进行查看)].子参数。因为返回值的子参数 teamList 是数组,所以需要加元素序号,第一个元素为 0,以此类推。关联参数可以在请求头部、请求体( form-data、raw ),REST 参数中使用。

    测试报告

    使用普通 UI 自动化模式,只需要动动鼠标就可以完成一系列的业务流程测试,生成详细的测试报告。

    image.png

    eoLinker,高效、专业、规范,让接口管理更加简单!

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

    8 条回复    2018-08-16 10:35:46 +08:00
    hsr
        1
    hsr  
       2018-07-10 18:27:39 +08:00
    感觉不错,先试用一下,再来评论
    airfling
        2
    airfling  
       2018-07-10 21:50:50 +08:00 via Android   ❤️ 1
    和 postman 比的优势是?
    crab
        3
    crab  
       2018-07-10 22:41:39 +08:00
    众多成功的企业正在享受 eoLinker 的服务.....
    vocalman
        4
    vocalman  
    OP
       2018-07-13 15:26:18 +08:00
    @airfling postman 在接口文档的功能较弱,eolinker 文档功能更强大。还有其他本地化优势等等。
    vocalman
        5
    vocalman  
    OP
       2018-07-13 15:26:53 +08:00
    @hsr 感谢,欢迎提出宝贵意见
    vocalman
        6
    vocalman  
    OP
       2018-07-13 15:27:32 +08:00
    @crab 确有其事,如假包换
    qq7171891
        7
    qq7171891  
       2018-07-22 21:12:28 +08:00
    有没有这种服务:提供一个回调链接,我将这个链接放到其他的服务上,比如支付宝、微信什么的,然后可以在你这边看到支付宝、微信什么的第三方服务回调发回的数据。

    我的需求是,在做处理回调的程序逻辑之前,看看究竟第三方回调会发回什么数据,有时候要,他们的 API 文档并不可靠。
    vocalman
        8
    vocalman  
    OP
       2018-08-16 10:35:46 +08:00
    @qq7171891 听你的意思,感觉你是想要一个类似 API 监控的东西,欢迎你加群 857400042 了解一下情况。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3384 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:20 · PVG 19:20 · LAX 03:20 · JFK 06:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.