引言 jvm-sandbox-repeater是基于阿里开源jvm-sandbox框架、面向测试人员的流量录制与回放工具。本文将初步体验下jvm-snadbox-repeator相关特性及部署。 注意 最好在Macos或Linux下使用,Windows下使用存在诸多问题。

1.概述

下面将从“什么是jvm-sandbox-repeater”、“核心能力(feature)”、“适用人群”、“适用场景”进行介绍:

1.什么是jvm-sandbox-repeator

jvm-sandbox-repeator是基于阿里开源jvm-sandbox框架的一款工具:

  • 具备jvm-sandbox的所有特点【无侵入、类隔离、可插拔、多租户、高兼容】
  • 插件式设计能快速适配各种中间件。
  • 支持(请求)流量的录制、回放。
  • 提供可扩展的API,便于进行自定义。

    2.核心能力(feature)

    下面将介绍jvm-sandbox-repeater具备哪些核心能力:
    1.体验jvm-sandbox-repeater - 图3

    3.适用人群

    jvm-sandbox-repeator适合测试人员适用

    4.适用场景

    1.体验jvm-sandbox-repeater - 图4

    2.java工程目录介绍

    git仓库 https://github.com/alibaba/jvm-sandbox-repeater.git

目录 说明
hessian-lite 序列化的框架(第三方)
repeater-aide 回放的工具(包含:diff等)
repeater-client —-
repeater-console —-
repeater-module 核心的模块
repeater-plugin-api 接口
repeater-plugin-core 核心的实现
repeater-plugins 插件

3.组件部署

1.console部署

在“jvm-sandbox-repeater(java项目)”中,进行如下配置操作:

1.配置mysql数据源

修改“jvm-sandbox-repeater/repeater-console/repeater-console-start/src/main/resources/application.properties”中的datasource相关配置:
image.png

2.mysql表数据初始化

将“jvm-sandbox-repeater/repeater-console/repeater-console-dal/src/main/resources/database.sql
”中的导入mysql中:

数据库文件database.sql

image.png

2.repeater部署

1.安装执行shell脚本

  1. cd jvm-sandbox-repeater/bin && sh install-local.sh && sh install-repeater.sh

image.png

2.运行jvm-sandbox-repeater-console

因为jvm-sandbox-repeater-console默认的端口号为8001,若你要修改port,需在“jvm-sandbox-repeater/repeater-console/repeater-console-start/src/main/resources/application.properties”中更新server.port相关信息。

  1. kill -9 $(lsof -i:8001|awk '{print $2}')
  2. cd jvm-sandbox-repeater
  3. mvn clean install -DskipTests && nohup java -jar repeater-console/repeater-console-start/target/repeater-console.jar > console.log 2>&1 &

image.png

3.部署被测系统

本文我们借鉴【Testerhome】jvm-sandbox-repeater 尝鲜 (四)——新版带界面 console 的使用,该作者提供的被测系统(git仓库 https://github.com/chenhengjie123/gs-rest-service

1.运行被测系统

  1. kill -9 $(lsof -i:8080|awk '{print $2}')
  2. cd gs-rest-service/complete
  3. #mvn install && java -jar -Dapp.name=gs-repeater -Dapp.env=dev1 target/*.jar
  4. mvn install && java -jar target/*.jar

image.png

2.jvm-sandbox绑定“被测系统”

笔者使用的MacOS,而本文“sh install-local.sh”中,jvm-sandbox被默认安装到了“Users/MAC用户/.opt/sandbox”。下面是具体的绑定步骤:

  1. sh /Users/MAC用户/.opt/sandbox/bin -p `ps -ef | grep "target/gs-rest-service-0.1.0.jar" | grep -v grep | awk '{print $2}'` -P 12580

4.示例演示

前提 已成功完成文本第3节(组件部署)相关操作。

1.访问console页面

浏览器访问:http://127.0.0.1:8001/online/search.htm#
image.png

2.配置管理(新增配置)

image.png

【明天在写——待续】

5.推荐必读文章/视频

文章

(优质实践)文章

视频