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实现排除登录对单个事务的压测的主要内容,如果未能解决你的问题,请参考以下文章

jmeter在服务器上的压测命令

使用jmeter进行简单的压测

Jmeter-----随机生成手机号后8位并去重,来进行注册手机号的压测

jmeter 分布式压测配置Linux

jmeter服务器的压测windows版

Jmeter分离登录事务的另一种方式