新增功能

支持发送、录制 Dubbo 3.x 请求

相关 PR:https://github.com/arextest/arex-agent-java/pull/76

Apache Dubbo 是一款高性能的分布式服务框架,在提供高可用性、可伸缩性、服务自动注册和发现、负载均衡、容错、调用链追踪、服务治理等方面提供支持。新版本中 AREX 支持对 Dubbo 3.x 版本的请求进行录制和回放。

发送 Dubbo 请求需要填写 Dubbo 服务的地址。Dubbo 服务的地址通常包括三部分信息:协议、服务地址和服务端口。例如,Dubbo 服务的地址为:dubbo://{{本机ip}}:20880/com.xxx.service.XXXService。

  • 协议:Dubbo 支持多种协议,包括 dubbo、rmi、hessian、http 等等。在填写 Dubbo 服务地址时需要指定使用的协议,例如 dubbo。
  • 服务地址:Dubbo 服务提供者的 IP 地址或者主机名称。
  • 服务端口:Dubbo 服务提供者的监听端口。

新增录制用例详情页面

为了方便查看和管理录制到的用例,新版本中在回放报告中的录制用例列表中新增了一个录制详情页面,该页面中展示了请求的详细信息,如请求参数、请求头、响应内容等。

为被测应用新增 Agent 状态显示

在应用设置页面新增了显示被测试应用的 AREX Agent 状态的功能,方便测试人员查看当前服务的 Agent 是否正常运行,从而及时发现和解决问题,保证测试过程的可靠性和稳定性。

相关 PR:https://github.com/arextest/arex/pull/119

arex-agent-java 版本升级为 v0.2.0

1.完善动态类功能

a. 支持 Spring @Cacheable

相关 PR:https://github.com/arextest/arex-agent-java/pull/123

新版本中 AREX 支持 Spring 框架中的 @Cacheable 注解,可以将方法的运行结果缓存到指定的缓存中,下次再调用该方法时,可以直接从缓存中获取结果,避免数据库访问等操作,更加方便地实现缓存的管理和使用。

b. 支持使用配置方式和代码注解方式配置动态类

相关 PR:https://github.com/arextest/arex-agent-java/pull/114https://github.com/arextest/arex-agent-java/pull/133

配置动态类 Mock,可直接在下图所示的界面进行配置:

以下是 AREX 中支持动态类配置的示例,用于模拟内存中的类数据。

  • infix:在包路径中匹配任意包含 namic 的类,例如 io.arex.inst.dynamic.*namicTest*
  • suffix:在包路径中匹配以 namicTestClass 结尾的类,例如 io.arex.inst.dynamic.*namicTestClass
  • prefix:在包路径中匹配以 DynamicTest 开头的类,例如 io.arex.inst.dynamic.DynamicTest*
  • equals:在包路径中匹配类名为 DynamicTestClass 的类,例如 io.arex.inst.dynamic.DynamicTestClass
  • abstract class or interface:匹配抽象类或接口,其中 ac: 表示 abstract class 的缩写,例如 ac:io.arex.inst.dynamic.AbstractDynamicTestClass 表示匹配 AbstractDynamicTestClass 抽象类。

这些配置用于指定需要 mock 的动态类的包路径和类名等信息。在配置完成后,AREX 将会自动 mock 这些类,在测试过程中使用。

此外,也可以使用代码注解的方式进行配置。详见:https://github.com/arextest/arex-common/blob/main/src/main/java/com/arextest/common/annotation/ArexMock.java

2. 支持 JCasbin 1.x、Apache Shiro 1.x 和 Spring Security 5.x 安全框架

相关 PR:https://github.com/arextest/arex-agent-java/pull/111https://github.com/arextest/arex-agent-java/pull/99https://github.com/arextest/arex-agent-java/pull/98

JCasbin、Apache Shiro 和 Spring Security 都是常用的安全框架,用于提供身份认证和授权等功能。在回放测试时,AREX 支持使用这三种安全框架进行测试,可以方便地进行身份认证和授权测试。

3. 支持关闭回放功能

相关 PR:https://github.com/arextest/arex-agent-java/pull/93

如果生产环境只需要录制而不需要回放,可以在加入 Java Agent 配置时添加:-Darex.disable.replay=true,关闭 AREX 回放功能。

4. AREX Agent Java 支持扩展

相关 PR:https://github.com/arextest/arex-agent-java/pull/69

支持自主开发 AREX Agent 扩展插件,后续会更新开发插件文档。

下载 AREX 0.2.8

  1. 使用 Docker 安装:
git clone https://github.com/arextest/deployments.git  
cd deployments
docker-compose up -d
  1. 部署 Agent:详见文档


AREX_中文社区
1 声望3 粉丝

AREX 是一个基于真实请求与数据的自动化回归测试平台。通过复制线上真实流量到测试环境进行自动化回归测试,解决回归测试的难题。