获取用于上载项目信息的接口
1 )请求签名
2 )调用同一接口的间隔应小于1秒
测试步骤1 )模拟实际用户,采用阶梯型线程加压进行模拟。 在此,使用阶梯型加压jp @ GC-stepping thread group (deprecated )
2 )添加用户参数组件
3 )添加JSR223采样器,获取界面所需的请求签名信息
使用JSR223取样器,可以运行JSR223脚本代码来创建/更新所需的变量。 此外,与BeanShell采样器相比,JSR223采样器的groovy脚本可以显著提高性能,并支持更多的脚本语言
以下是获取请求签名代码
获取importhashlibimporttimerand=' xxxx ' #时间戳,毫秒now=time.time () timestamp=str(int(round(now* 1000 ) ) )的timestamp=' 1614231674297 ' vars.put (' timestamp ), timestamp ) authid _ enterprise=' 28865 BC 11e b 88 xxecfaxxx ' secret _ enterprise=' 288 D1 a5 BC 11e b 88 xxxecfxxxxxb8' data=' { ', ' project _ code' :' c 00001 '.decode (utf-8 ) (timestamp.decode ) (utf-8 ) ) )。' :'2020-12-01','end_date':'2022-12-31', ' contract _ amount' 333652365284; 365284; 3200000 ' } . decode(utf-8 ) (连接字符串result=' rand=' rand ' timestamp=' timestamp ' auth _ id=' authid _ enterprise ' ) ) ) ) utf-8 ' ).hexdigest ) #为signatrue变量加上vars.put ) ) signature
5 )添加用于设置请求报头信息的http报头管理器
6 )添加断言,验证接口请求是否正确
7 )添加同步定时器
其作用是,阻止线程直到指定的线程数到达为止,然后一起释放,可以瞬间产生很大的压力()。人多的话力气就大()哈哈哈! )
)1) numberofsimulateduserstogroupby :指定要同时释放的线程数
)2) milliseconds : time out超时时间,即超时几毫秒后同时释放指定的线程数
测试结果1 )汇总报告,此处事务处理数使用其他采样器,参考性不强,值得关注。 观察是否有失败的请求,或用户的响应时间等(最低、最高、95%、99% ) )。
2 )观察线程数
3 )观察事务数量,一般最高、最低、高概率观察在哪个区间
4 )观察响应时间,最高、最低、高概率区间