接口测试 流量录制回放 JVM-Sanbox-Repeater---如何进行调试

mellymeng for PPmoney · 2019年10月15日 · 最后由 小乐天 回复于 2022年01月11日 · 3411 次阅读

JVM-Sanbox-Repeater 如何进行调试

在进行录制回放过程中,可能在启动过程出现错误,可能在开发插件过程中埋点没有生效等。这种时候如果可以进行打个断点进行单步调试一下,那就太爽了吧。JVM-Sanbox-Repeater 进行项目的录制和回放过程中也是可以进行调试的,通过 Java 探针--Java Agent 技术就可以实现。

扩展: jdk1.5 以后引入了 javaAgent 技术,javaAgent 是运行方法之前的拦截器。使用 javaAgent 能实现运行时修改字节码这个动作化于无形,对业务透明,减少侵入性。

快速开始

1.将测试项目用调试命令启动起来

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000   //8000是等待远程连接的端口号
     -javaagent:${HOME}/sandbox/lib/sandbox-agent.jar=server.port=8820\;server.ip=0.0.0.0       //8820是repeater配置文件中默认的端口
     -Dapp.name=repeater
     -Dapp.env=daily
     -jar /root/下载/springboot-1.0.1-SNAPSHOT.jar    // /root/下载/springboot-1.0.1-SNAPSHOT.jar为自己的测试项目

2. 启动 repeater-console

注意:如果你本地的 repeater 的配置文件 repeater.properties 中 repeat.standalone.mode=true ,使用单机工作模式。则第二步启动 repeater-console 就不需要执行了。

jar -jar repeater-console.jar

3. IDEA 配置远程调试

step0 将自己要调试的项目,例如 JVM-Sandbox-Repeater 在 IDEA 中打开

step1 选择运行中的 edit configuration

step2 配置远程调试配置

这里的端口和上面启动命令中的 8000 是一致的,IP 为启动测试项目所在的系统 IP

step3 运行远程调试,连接上测试项目

step4 开始调试

在 IDEA 中的 JVM-Sandbox-Repeater 中想要调试的地方打上断点
调用测试项目的接口,后面就和单步调试是一样的了

共收到 2 条回复 时间 点赞

试了下 没能连上

到这一步 “step3 运行远程调试,连接上测试项目” 都成功了,step4 在 repeater 上打了断点(保存录制数据、执行回放、查询配置管理列表、查询在线模块列表),但是没有走到断点。调用测试项目的接口或者 console 页面执行都没有走到断点里,想请教一下可能是什么原因

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