AREX 0.2.8 版本正式发布!支持发送、录制 Dubbo 3.x 请求,arex-agent-java 版本升级为 v0.2.0。
支持发送、录制 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/114 https://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/111 https://github.com/arextest/arex-agent-java/pull/99 https://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
- 使用 Docker 安装:
git clone https://github.com/arextest/deployments.git
cd deployments
docker-compose up -d
- 部署 Agent:详见[文档](http://arextest.com/zh-Hans/docs/chapter1/Quick Installation#部署-arex-agent)。