开源测试工具 AREX 上手体验浅谈

imath60 · 2022年07月29日 · 最后由 枫叶 回复于 2024年05月23日 · 11753 次阅读

前言

项目地址:https://github.com/arextest

一、背景介绍

在业务的全生命周期内,在发布 PipeLine 上设置质量卡点,自动化回归测试【接口 + 链路】,保障接口与链路两个维度的质量,把控发布质量,守好上线前的最后一道防线。本文将介绍基于 AREX 的接口 RECORD、REPLAY & DIFF 能力。

二、新手指南

1、 AREX 部署

git clone git@github.com:arextest/deployments.git

docker-compose up

部署成功效果:

2、 编译 AREX-AGENT

git clone git@github.com:arextest/arex-agent-java.git
mvn clean install

编译成功效果:

3、 将 AREX-AGENT 注入被测服务,完成录制

java -javaagent:./arex-agent-0.0.1.jar -Darex.config.path=./arex.agent.conf -jar spring-petclinic-2.7.0-SNAPSHOT.jar

注入启动成功效果:

4、 使用 AREX-UI 完成回放与 DIFF

4.1、启动回放

4.2、回放执行

###4.3、回放结果

4.4、回放报告

三、优化建议

1、 优先完善文档系统建设,包括但不限于部署文档、使用文档、开发文档等;
2、 deployments 及 集成 arex-agent 的 demo 项目持续完善 力争开箱即用 减少初期因文档不完善,上手问题阻塞影响;
3、 开始 arex-ui 的本地化工作,中文&英文同步更新。

四、未来展望

1、 基于 arex 的接口流量录制&回放能力,与人工编写接口接口测试脚本结合打造接口质量验证能力;
2、 结合接口流量录制的 spanid,traceid 透传,完成链路维度的透传,与现有基于人工编写的场景用例结合,打造链路质量验证能力;
3、 将上述能力与自动化测试任务集像关联,结合精准测试与代码染色构建的正反双向追溯系统,基于代码变更,给出变更范围与影响范围,推荐自动化测试用例集并执行,根据代码染色计算变更及影响覆盖率,结合发布流水线的质量卡点阈值,支撑发布决策。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 15 条回复 时间 点赞

@imath60 这个项目看起来还挺不错的,是你开发的么?

可以在社区的 开源项目 板块发布一下,方便后面其他人快速找到?

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project arex-jedis-v4: Compilation failure: Compilation failure:
[ERROR] /Users/zhanglihua/code/arex-agent-java/arex-instrumentation/redis/arex-jedis-v4/src/main/java/io/arex/inst/jedis/v4/JedisWrapper.java:[69,20] 不兼容的类型: 推断类型不符合上限
[ERROR] 推断: java.util.Set<? extends java.lang.Object>
[ERROR] 上限: java.util.Set,java.lang.Object
[ERROR] /Users/zhanglihua/code/arex-agent-java/arex-instrumentation/redis/arex-jedis-v4/src/main/java/io/arex/inst/jedis/v4/JedisWrapper.java:[94,20] 不兼容的类型: 推断类型不符合上限
[ERROR] 推断: java.util.List<? extends java.lang.Object>
[ERROR] 上限: java.util.List,java.lang.Object

在 mvn clean install 的时候 出现不兼容的问题了。

调整了下:

Maven home: /Applications/apache-maven-3.6.3
Java version: 1.8.0_321

记得把 tools.jar 也加到 classpath 中去。

可以了

陈恒捷 回复

是携程开源的 我拉你进群邀请下?

恒温 回复

赞 项目基于 JDK11 开发 有看对 JDK8 和 JDK17 的兼容

仅楼主可见
hippo 回复

看报错 是 loadAgentConfig 问题 可以看下 arex.agent.conf 文件中定义的参数 及 arex 服务要先正常启动

感谢楼主分享,尝试了下发现 AREX-UI 部署找不到缺 jar 呢?
请问有部署成功的文档吗
谢谢

zzd 回复

缺失哪个 jar?

sorry,弄错了..docker-compose up 是启动了...我之前以为要单独在写启动脚本

仅楼主可见

感觉和 jvm sandbox repeater 差不多

有群吗 拉我一个

钟涛 回复

imath60 回复

想进微信群,能在给个二维码吗?

求微信群二维码

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册