jmeter实现排除登录对单个事务的压测
Posted 测试夕
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter实现排除登录对单个事务的压测相关的知识,希望对你有一定的参考价值。
需求:用户登录后,会循环请求数据上报,对该请求做一个50用户的并发,并循环执行长达10分钟。循环的时候,需要排除登录的过程。
事务:可以是一个接口,可以是一个功能,如一个web页面的访问,可以是一个请求,如循环的数据上报,这里以数据上报为例。
思考:
(1)使用setUp Thread Group来做登录的初始化请求,LR不就用init实现这个么?【暂未成功,可以不看,若有好的方法,敬请赐教】
结果:因为有多个线程,cookie管理器不支持
(2)沿用上诉方法,解决cookie管理器不支持的问题:使用BeanShell PostProcessor,__setProperty,__P函数实现token的跨线程组使用,但csv data set config 参数化上,在跨线程组间受到阻碍,如我有账号A,B,C,D,我在setUp Thread Group中使用了A,B登录,到Thread Group中真正压测的时候,参数居然从C开始取值。【该问题暂未找到办法,敬请赐教】
(3)使用仅一次控制器,勉强实现测试需求【暂时能想到的方法,不是很满足测试需求,但暂可用】
对登录使用仅一次控制器去限制整个执行中,就执行一次,其余接口可以循环,可以持续。使用cookie管理器控制token,这样勉强解决问题。
(4)环境恢复(如某些需求有订单,或者有其他流程,此时测试某一个事务,测试完成后应该将环境恢复)
使用仅一次控制器,设置定时器,延迟环境恢复接口(如取消订单)的执行时间,该执行时间要满足前面压力测试循环执行的时间,保证前面的压力测试能执行完成。
以上是关于jmeter实现排除登录对单个事务的压测的主要内容,如果未能解决你的问题,请参考以下文章