jvm-sandbox-repeater详解

一. 录制

配置:
需要在repeater-config.json 中配置httpEntrancePatterns (接口地址) 配置增强的方法 以及子调用的方法(List)排列。

志文覆写了新的回放和查看回放结果的请求(在repeater-console epeater-console-startsrcmainjavacomalibaba epeaterconsolestartcontrollerwebReplayWebController.java)中

查看回放结果详情接口路径为:http://hostname/repeater/replay/detail   post请求
{
"repeatId": "repeatId"
}
repeatId的value在回放的表中获取
执行回放:[http://hostname/repeater/replay/execute]   post请求
{
"ip": "ip",
"appName": "repeater",
"traceId": "traceId",
"mock": true
}
进行录制:[http://hostname/repeater/regress/slogan]    
实际配置的接口
修改配置: http://hostname/repeater/config/saveOrUpdate         //志文重写的接口  也可以调用原始的请求
{
  "appName":"unknown",
  "environment":"unknown",
  "config":"{"degrade":false,"exceptionThreshold":1000,"httpEntrancePatterns":["^/api/.*$"],"javaSubInvokeBehaviors": [{"classPattern":"path", "includeSubClasses": false,"methodPatterns":["getByCompanyId"]}],"pluginIdentities": ["http","java-entrance","java-subInvoke","mybatis","ibatis","dubbo-provider","dubboconsumer"],"repeatIdentities": ["java","http","dubbo"],"sampleRate": 10000,"useTtl": true}"}

原生的修改配置   http://hostname/repeater/config/add.htm
@RequestMapping("add.htm")
    public String add(Model model) {
        RepeaterConfig defaultConf = new RepeaterConfig();
        List<Behavior> behaviors = Lists.newArrayList();
        defaultConf.setPluginIdentities(Lists.newArrayList( "http", "java-entrance", "java-subInvoke"));
        defaultConf.setRepeatIdentities(Lists.newArrayList("java", "http"));
        defaultConf.setUseTtl(true);
        defaultConf.setHttpEntrancePatterns(Lists.newArrayList("^/regress/.*$"));
        behaviors.add(new Behavior("com.alibaba.repeater.console.service.impl.RegressServiceImpl", "getRegress"));
        defaultConf.setJavaEntranceBehaviors(behaviors);
        List<Behavior> subBehaviors = Lists.newArrayList();
        subBehaviors.add(new Behavior("com.alibaba.repeater.console.service.impl.RegressServiceImpl", "getRegressInner", "findPartner","slogan"));
        defaultConf.setJavaSubInvokeBehaviors(subBehaviors);
        try {
            model.addAttribute("config", JacksonUtil.serialize(defaultConf));
        } catch (SerializeException e) {
            model.addAttribute("errorMessage", e.getMessage());
            return "/error/404";
        }
        return "config/add";
    }          
自己修改配置。
如不重启服务则需要调用push生效                                        
http://hostname/repeater/config/push        //目录:com.alibaba.repeater.console.start.controller.web;   
body{
和saveOrUpdate   的请求体一样。
}

配置文件详解:

在这里插入代码片{
    "degrade":false,                               改为true后不在录制    
    "exceptionThreshold":1000,                异常发生阈值;默认1000当ExceptionAware感知到异常次数超过阈值后,会降级模块
    "httpEntrancePatterns":[                 需要录制和回放的http接口需要同时在pluginIdedentities和repeatIdentities中都配置了http这个配置才生效
        "^/regress/.*$"                                   
    ],
    "javaSubInvokeBehaviors":[          需要录制和mock的java方法的配需要
        {
            "classPattern":"packpagePath",
            "includeSubClasses":false,
            "methodPatterns":[                           方法配置
                "getByCompanyId"
            ]
        }
    ],
    "pluginIdentities":[
        "http",
        "java-entrance",
        "java-subInvoke",
        "mybatis",
        "ibatis",
        "dubbo-provider",
        "dubboconsumer"
    ],
    "repeatIdentities":[
        "java",
        "http",
        "dubbo"
    ],
    "sampleRate":10000,
    "useTtl":true
}
更详细的配置见:[https://testerhome.com/topics/20869]

在这里推荐一个软件测试交流群,qq:642830685, 群里会不定期的分享软件测试交流群,qq:642830685,群中会不定期的分享软件测试资源,测试面试题以及测试行业资讯。大家可以在群里积极甲流技术问题,还有大佬为你答疑解惑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值