codecamp

UI模式

自动化测试(简易模式)简介

eoLinker是目前第一个支持在线API自动化测试的平台,eoLinker AMS提供了两种自动化测试方案:

  1. 简易模式:全UI界面,无需编写任何代码即可完成稍复杂的API测试工作
  2. 高级模式:代码界面,通过编写极少的Javascript代码,即可实现强大的API自动化测试

一般而言,自动化测试涉及以下几个方面:

  1. 自由设定API测试顺序;
  2. API之间存在数据关联,比如后面接口的请求参数会绑定前面接口的返回结果等;
  3. 支持对返回结果进行校验;
  4. 支持对数据进行处理,比如在测试登录接口时对密码进行加密等;
  5. 支持高级的代码用例,可以用代码来实现控制测试流程的目的,一般语言有js;
  6. eoLinker支持上述提到的所有功能,并且是目前全球唯一一款支持UI界面创建自动化测试的产品,用于自动化测试非常方便,并且用户体验相比于Postman等工具要好许多。

一.单例和用例

单例 是自动化测试下面的一个基本单位,通俗地讲,单例 也就是“单个API的测试条件和结果”。比如有一个用户登录接口,传递abc和123作为请求参数,然后返回”OK”作为成功的结果。

用例 则是多个 单例 的合集,一个 用例 可以包含1~无限个的 单例,并且把这些 单例 按顺序组合起来。比如测试完整的用户登录流程(注册-登录-判断登录状态-退出登录)。


二.环境变量

和Postman一样,eoLinker也提供了环境变量的功能,帮助用户快速对测试API的环境进行切换,而不需要对API进行修改(比如开发和生产环境的参数和地址可能不同)。

不同的是,eoLinker的环境变量功能要更加强大,除了设置全局变量,eoLinker里面可以设定所有API的地址前缀、请求头部等信息。

在环境管理中创建好环境,在自动化测试的时候就可以根据不同的环境随时切换,非常方便。


三.创建单例

如果你已经在接口管理中把API信息录入完毕,那么在创建单例的时候可以直接将接口文档导入,节约绝大多数的时间。或者我们也可以手动去录入单例的信息。

其中包括:

  1. 单例名称
  2. API URL
  3. 请求参数
  4. 返回结果的判断条件

由于本篇文章介绍的是简易模式的自动化测试,以上的所有操作都将在UI界面中完成,不需要编写任何代码,操作上要简单许多。


四.设置单例之间的数据关联

回顾刚才提到的用户登录流程(注册-登录-判断登录状态-退出登录),在这里我们发现除了第一个注册API之外,其余的API的请求参数或多或少会使用到前一个或几个API的返回值。比如登录的用户名密码是注册的用户名密码,判断登录状态需要知道登陆之后的token等。

eoLinker的自动化测试也提供了这样的功能,可以用图形化的界面非常方便地设置API之间的数据关联。我们在填写单例的请求参数信息时,右侧会出现“关联”的按钮,点击之后就可以选择该请求参数需要关联哪一个API的返回结果。


五.设置结果校验规则

接下来对单例的返回结果进行判断,这里eoLinker 提供了4种校验方式:

  1. 不校验:任何返回结果均判断为正确
  2. Json校验:根据Json的结构以及数据进行判断,如有匹配则判断为成功
  3. XML校验:根据XML的结构以及数据进行判断,如有匹配则判断为成功
  4. 完全匹配:返回结果必须完全等于(==)匹配规则,如有匹配则判断为成功
  5. 正则匹配:使用正则表达式去匹配返回结果,如有匹配则判断为成功

除此之外,还提供了两个额外选项:

  1. 测试失败依然往下执行:如勾选该选项,则当该 单例 判断为失败时依然会往下执行 当前用例 中的其他单例,否则会直接终止 当前用例 的测试。
  2. HTTP Status Code校验:可以设置校验的HTTP状态码,如返回的必须为状态码必须为200。

(下图为Json校验的例子:HTTP状态码必须为200,并且Json中的status字段必须为”000000”;如果该 单例 测试失败,不会继续往下执行 当前用例 中的其他单例。)


六.进行自动化测试

编辑完所有的 单例 之后,就进入到最后的测试阶段。eoLinker可以对 单例 单独做测试,也可以进行批量的用例测试。在 用例 中点击测试按钮就会把所有的API测试一遍,然后遇到报错还会提供相关的反馈信息,比如和预设的结果对比。


七.完整实例

  1. 创建注册单例

  2. 设定请求参数和返回结果的判断条件

  3. 类比创建后续的API单例,但是可以为请求参数加上关联条件(下图中token绑定了上一个登录接口的返回token值)

  4. 测试并检查返回结果

  5. 测试完毕,整个过程不超过10分钟,并且以后每当项目更新之后都可以跑一遍所有的自动化测试,极大的节省了开发测试的时间。

场景用例
Code模式
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }