共计 2967 个字符,预计需要花费 8 分钟才能阅读完成。
AREX 是一款开源的自动化测试工具平台,基于 Java Agent 技术与比对技术,通过流量录制回放能力实现疾速无效的回归测试。同时提供了接口测试、接口比对测试等丰盛的自动化测试性能,无需编程能力也可疾速上手。
AREX 能够通过 Docker-Compose
一键装置所有的根底服务组件。除此之外,AREX 也同步提供了在线试用平台 AREX Demo,与官网公布的最新版本保持一致,无需部署所有的服务组件即可试用,大大减少了试用费力度。
本文将介绍试用 AREX Demo 平台中接口测试性能及回放测试性能的具体操作步骤。心愿通过本文,为大家提供一种实现高效自动化回归测试的新思路。
拜访 AREX Demo 环境
应用 Chrome 浏览器拜访 AREX Demo 环境:http://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 中进行配置。也可间接输出 http://demo.arextest.com:18080/nettyTest/nettyTest 作为接口门路,但如果须要在多个环境(如生产环境、测试环境、开发环境等)进行测试时,一一批改前置 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 开始回放测试。顺次抉择回放测试的地址(为了演示不便,本次演示中录制和回放采纳同一个地址 http://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 文档:http://arextest.com/zh-Hans/docs/intro/
AREX 官网:http://arextest.com/
AREX GitHub:https://github.com/arextest
AREX 官网 QQ 交换群:656108079