AREX 是一款开源的自动化测验东西渠道,根据 Java Agent 技能与比对技能,经过流量录制回放能力完成快速有用的回归测验。一起供给了接口测验、接口比对测验等丰富的自动化测验功用,无需编程能力也可快速上手。
AREX 能够经过 Docker-Compose
一键装置一切的根底服务组件。除此之外,AREX 也同步供给了在线试用渠道 AREX Demo,与官方发布的最新版本保持一致,无需布置一切的服务组件即可试用,大大削减了试用吃力度。
本文将介绍试用 AREX Demo 渠道中接口测验功用及回放测验功用的详细操作步骤。希望经过本文,为我们供给一种完成高效自动化回归测验的新思路。
拜访 AREX Demo 环境
运用 Chrome 浏览器拜访 AREX Demo 环境:demo.arextest.com/,初次登录需求进行注册…
输入邮箱后,点击 Send Code 按钮, 稍后邮箱将接收到 AREX 发送的登录验证码,如下图,将验证码填入即可登录。
登录后,进入 AREX Demo 的前端页面,如下图所示:
页面包含 Work Space 办理区域、接口测验(Collection)、回放测验(Replay)、环境装备(Environment)和运用装备(AppSetting)、用户操作装备等部分,详见 AREX 官方文档。
Chrome 插件装置
因为浏览器拜访跨域名服务受限,在运用 AREX 接口测验功用前,需求装置 Chrome 插件,经过插件完成对外恳求接口。
拜访 Chrome Web Store,在搜索框中输入 AREX,增加 Arex Chrome Extension。如下图:
如无法拜访 Web Store,能够直接下载最新的插件包到本地进行装置,当前最新的插件版本是 v1.0.45。
至此,一切的前期准备工作完成,接下来将介绍怎么运用 AREX 的接口测验及录制回放功用。
运用 AREX 进行接口测验
本文中验证功用运用的是由官方供给的模仿服务 AREX-Community-test,Demo 环境中该服务接口暴露地址是 demo.arextest.com:18080。
- 在 Collection 中新建一个名为 “Demo-Community-Test” 的集合,用以创建接口恳求。
-
在 “Demo-Community-Test” 集合右侧下拉菜单中挑选 Add Request,新增一个恳求,并挑选恳求方式为
GET
。-
输入接口途径
http://{{arex_host}}/nettyTest/nettyTest
,其间{{arex_host}}
是参数名为arex_host
, 值为demo.arextest.com:18080
的环境变量,需提早在 Environment 中进行装备。也可直接输入 demo.arextest.com:18080/nettyTest/n… 作为接口途径,但如果需求在多个环境(如生产环境、测验环境、开发环境等)进行测验时,逐一修正前置 URL 比较吃力,因此建议运用环境变量,在不同环境进行测验只需切换环境即可。 -
在新建的恳求右侧下拉菜单中挑选 Add Case, 为该接口恳求创建一个测验用例,用例的属性能够直接承继于恳求,削减保护成本。
-
其他参数能够根据需求设定,Parameters 中设置参数, Headers 设置恳求头, Body 设置恳求体, Pre-request Script 设置前置脚本, Tests 设置断言,判别是否契合预期。
-
悉数设置完成后,点击 Send 发送恳求并履行脚本验证(如有),如下图。
-
运用 AREX 进行回放测验
AREX 的流量录制功用是经过 Java Agent 技能完成的,如需录制运用,首要需求在被测的 Java 运用启动中加入 Java Agent 装备:
environment:``- JAVA_TOOL_OPTIONS=``'-javaagent:/usr/local/tomcat/arex-agent-0.1.0.jar'` `-Darex.service.name=community-demo-name -Darex.storage.service.host=demo.arextest.com -Darex.enable.debug=``true
其间:
- -Darex.service.name=community-demo-name 是为了设置该运用在 AREX 中展现的名称;
- -Darex.storage.service.host=demo.arextest.com 是设置 AREX 的 Storage 服务的接口地址为 demo.arextest.com 。
当被测运用装载了 AREX Agent, 并正确装备了 AREX Storage 服务地址后, 即可在回放测验(Replay)列表中看到该运用名,说明运用已经成功注册,如下图所示:
community.0.2.6 为本文中运用的测验运用 Arex-community-test(0.2.6 版本)的缺省名。随后 AREX 会记录下对这个服务接口地址进行的每个拜访,包含恳求和应答,以及被测服务对外部依靠的拜访(数据库,Redis等等),这个进程便是 AREX 的录制进程。
在录制完成后,点击页面右上角挑选 Start Replay 开端回放测验。顺次挑选回放测验的地址(为了演示方便,本次演示中录制和回放选用同一个地址 demo.arextest.com:18080)及需求回放的用例的录制起止时刻。
AREX 履行回放操作时,首要由 Schedule 调度服务将被测运用的录制数据(恳求)从数据库整理出来,随后向目标被验证服务发送接口恳求,当服务接收到恳求后,处理恳求逻辑,一起由 Agent 把需求 MOCK 的外部依靠数据装载进来,处理结束后回来响应报文。调度服务会将回放的响应报文和录制的响应报文进行比对,并由剖析服务统计剖析比对成果,将存在的 BUG 或者疑似 BUG 展现在回放陈述中,供开发和测验人员检查。
回放陈述页面如下图所示:
当录制与回放的比对成果存在差异时,陈述中会出现失利用例(Failed):
1.在陈述页面中挑选某条途径下 Case Table,能够看到每个回放用例的状况,如下图所示。点击 Detail 检查详情, Save 将该用例保存为常规测验用例。下图中的 Failed 用例左边基准版本(录制)存在数据库查询(query),但右侧最新版本(回放)没有,则标识回放失利。
- 挑选 Diff Scenes,进入剖析比对差异页面,AREX 将该途径下的比对差异点进行了兼并展现,方便开发及测验人员检查剖析。
当然也能够挑选 Tree Mode 进行树状图展现。
以上便是 AREX Demo 环境的完好试用操作。Demo 环境目前还存在一些问题需求改善:
- AREX Demo 环境布置在 AWS 上,有些用户反应拜访不是很快,特别是在处理大数据集时,操作速度明显变慢,需求进一步优化;
- AREX 操作界面还有一些不行友好和直观,界面易用性上还需求优化提高。
目前 AREX 保持着每月 1-2 次的发版频率,我们相信,在未来的开源共建之路上,AREX 会越来越老练和完善。
AREX 文档:arextest.com/zh-Hans/doc…
AREX 官网:arextest.com/
AREX GitHub:github.com/arextest
AREX 官方 QQ 沟通群:656108079