[转帖]自动化回归测试工具 —— AREX 上手实践

自动化,回归,测试工具,arex,上手,实践 · 浏览次数 : 0

小编点评

**AREX Demo 环境接口测试及回放测试操作步骤** **接口测试** 1. 打开 AREX Demo 环境。 2. 新建一个名为“Demo-Community-Test”的集合,并用以创建接口请求。 3. 在“Demo-Community-Test”集合右侧下拉菜单中选择“Add Request”。 4. 输入接口路径“http://{{arex_host}}/nettyTest/nettyTest”,其中{{arex_host}}是参数名为{{arex_host}}的环境变量值。 5. 创建测试用例并设置参数。 6. 点击“Send”发送请求并执行脚本验证。 **回放测试** 1. 在AREX Demo环境中创建一个名为“community.0.2.6”的测试应用。 2. 在回放测试列表中选择该应用。 3. 选择回放测试的地址(例如 http://demo.arextest.com:18080)及需要回放的用例的录制时间。 4. 点击“Start Replay”开始回放测试。 5. 在回放报告页面中选择“Detail”查看详细情况。 **其他注意事项** * 在进行接口测试时,可选择设置断言以停止测试过程。 * 在进行回放测试时,可选择选择树状图或详细的场景展示。

正文

https://my.oschina.net/arextest/blog/8589156

 

 

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。

  1. 在 Collection 中新建一个名为 “Demo-Community-Test” 的集合,用以创建接口请求。

  1. 在 “Demo-Community-Test” 集合右侧下拉菜单中选择 Add Request,新增一个请求,并选择请求方式为 GET

    1. 输入接口路径 http://{{arex_host}}/nettyTest/nettyTest ,其中 {{arex_host}} 是参数名为 arex_host, 值为 demo.arextest.com:18080 的环境变量,需提前在 Environment 中进行配置。也可直接输入 http://demo.arextest.com:18080/nettyTest/nettyTest 作为接口路径,但如果需要在多个环境(如生产环境、测试环境、开发环境等)进行测试时,逐个修改前置 URL 比较费力,因此建议使用环境变量,在不同环境进行测试只需切换环境即可。

    2. 在新建的请求右侧下拉菜单中选择 Add Case, 为该接口请求创建一个测试用例,用例的属性可以直接继承于请求,减少维护成本。

    3. 其他参数可以根据需要设定,Parameters 中设置参数, Headers 设置请求头, Body 设置请求体, Pre-request Script 设置前置脚本, Tests 设置断言,判断是否符合预期。

    4. 全部设置完成后,点击 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

其中:

当被测应用装载了 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),但右侧最新版本(回放)没有,则标识回放失败。

  1. 选择 Diff Scenes,进入分析比对差异页面,AREX 将该路径下的比对差异点进行了合并展示,方便开发及测试人员查看分析。

当然也可以选择 Tree Mode 进行树状图展示。

以上就是 AREX Demo 环境的完整试用操作。Demo 环境目前还存在一些问题需要改进:

  1. AREX Demo 环境部署在 AWS 上,有些用户反馈访问不是很快,特别是在处理大数据集时,操作速度明显变慢,需要进一步优化;
  2. AREX 操作界面还有一些不够友好和直观,界面易用性上还需要优化提升。

目前 AREX 保持着每月 1-2 次的发版频率,我们相信,在未来的开源共建之路上,AREX 会越来越成熟和完善。

与[转帖]自动化回归测试工具 —— AREX 上手实践相似的内容:

[转帖]自动化回归测试工具 —— AREX 上手实践

https://my.oschina.net/arextest/blog/8589156 AREX 是一款开源的自动化测试工具平台,基于 Java Agent 技术与比对技术,通过流量录制回放能力实现快速有效的回归测试。同时提供了接口测试、接口比对测试等丰富的自动化测试功能,无需编程能力也可快速上手

[转帖]如何在本地编译安装部署自动化回归测试平台 AREX

https://zhuanlan.zhihu.com/p/613877597 AREX 官方 QQ 交流群:656108079 本文将详细为大家介绍一下自动化回归测试平台 AREX 以及如何在本地进行编译安装部署。 背景 AREX 是一款开源的自动化回归测试工具, 基于 Java Agent 技术,

[转帖]如何在本地编译安装部署自动化回归测试平台 AREX

https://zhuanlan.zhihu.com/p/613877597 AREX 官方 QQ 交流群:656108079 本文将详细为大家介绍一下自动化回归测试平台 AREX 以及如何在本地进行编译安装部署。 背景 AREX 是一款开源的自动化回归测试工具, 基于 Java Agent 技术,

[转帖]badboy与jmeter的结合使用

`https://blog.csdn.net/weixin_41754309/article/details/107106855` 欢迎关注【无量测试之道】公众号,回复【领取资源】, Python编程学习资源干货、 Python+Appium框架APP的UI自动化、 Python+Selenium框

[转帖]kubelet 原理解析六: 垃圾回收

https://segmentfault.com/a/1190000022163856 概述 在k8s中节点会通过docker pull机制获取外部的镜像,那么什么时候清除镜像呢?k8s运行的容器又是什么时候清除呢? api-server: 运行在master,无状态组件,go自动内存垃圾回收 co

[转帖]Redis 4.0 自动内存碎片整理(Active Defrag)源码分析

阅读本文前建议先阅读此篇博客: Redis源码从哪里读起 Redis 4.0 版本增加了许多不错的新功能,其中自动内存碎片整理功能 activedefrag 肯定是非常诱人的一个,这让 Redis 集群回收内存碎片相比 Redis 3.0 更加优雅,便利。我们升级 Redis 4.0 后直接开启了a

[转帖]Redis学习笔记--Redis数据过期策略详解

本文对Redis的过期机制简单的讲解一下 讲解之前我们先抛出一个问题,我们知道很多时候服务器经常会用到redis作为缓存,有很多数据都是临时缓存一下,可能用过之后很久都不会再用到了(比如暂存session,又或者只存放日行情股票数据)那么就会出现一下几个问题了 Redis会自己回收清理不用的数据吗?

[转帖]电科数字董秘回复:华诚金锐申威服务器是中国电科全国产化服务器

http://stock.stockstar.com/RB2022101700005361.shtml 电科数字(600850)10月17日在投资者关系平台上答复了投资者关心的问题。 投资者:公司的自主可控华诚金锐服务器是否是完全国产自主技术,是否会被国外卡脖子,主要应用在哪些领域 电科数字董秘:您

[转帖]一本正经的八卦一下CPU的自主可控 之二

https://zhuanlan.zhihu.com/p/62399200 一本正经的八卦一下CPU的自主可控 之二 上回书说到CPU自主可控第一个层面的指令集问题。这回聊一聊接下来的设计问题。 第二篇 CPU设计篇 在设计层面,也有两种路线:一种是自主设计,一种是拿来主义。 CPU自主设计的含义是

[转帖]JVM优化之调整大内存分页(LargePage)

转自:http://cjjwzs.iteye.com/blog/1059381 本文将从内存分页的原理,如何调整分页大小两节内容,向你阐述LargePage对JVM的性能有何提升作用,并在文末点明了大内分页的副作用。OK,让我们开始吧! 内存分页大小对性能的提升原理 首先,我们需要回顾一小部分计算机