代码拉取完成,页面将自动刷新
同步操作将从 车江毅/lmc-autotest 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
为了让压测有更好的通用性,同时可以定制各种场景适配,所以压测底层抽象出几种可能需要定制的功能去增强!此文档举例一些场景和demo,方便用户快速上手!
总共有5个脚本会涉及到编写(如图),点击右下角有脚本编写的详细说明文档(如图)! 脚本编写详解
/*通过sql流处理分批获取样本数据,然后写入到本地样本(sample)文件中*/
api.streamSql2("select * from auto_tb_sample_"+api.nowFormat("yyyy_MM_dd")+" where url like '%192.168%' and url like '%get%'",[],function (dataMap){
api.writeSample(dataMap);
})
/*在样本筛选的基础上,对本地样本文件中的部分请求进行过滤,比如特定业务请求或者错误请求或者无法访问的请求等*/
var r = api.ps.response;
if(r==null||r.code!=200)
{
/*api.error(["过滤错误请求",r]);*/
return false;
}
var r2 = JSON.parse(r.body);
if(r2==null||r2.code!=200)
{
/*api.error(["过滤错误业务请求",r]);*/
return false;
}
/*可以对单个样本在压测时进行判别过滤,比如直接跳过部分请求不进行压测等,用的场景比较少*/
/*对压测时,部分样本请求的结果进行过滤,比如直接判别为错误请求或者跳过不计算在report中,或者直接打印请求结果进行调试*/
/*var r = api.ps.response;*/
/*api.debug(["显示调试请求",r]);*/
/*压测时,定期心跳检测当前任务是否符合退出条件,进行任务退出关闭动作,一般会根据压测报告结果或者运行时间进行判断*/
/*此处举例吞吐量超过5000,运行时间超过10分钟则终止任务,特别注意nodeReport在任务刚启动的时候可能为null*/
if(api.ps.nodeReport!=null&&(api.ps.nodeReport.throughput>5000||api.ps.runtime>10*60)){
api.log(["结束",api.ps.nodeReport,api.ps.runtime]);
return false;
}
/*飞书通知*/
var content = "节点:"+api.ps.node.node+"通知任务开启压测:taskid="+api.ps.task.id;
api.httpPost("https://open.feishu.cn/open-apis/bot/v2/hook/6c26281e-20cf-46db-b4ec-a4ad8a3963e1",{"msg_type":"text","content":{"text":content}});
by 车江毅
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。