在做一个项目的性能测试时,涉及抢答场景,大致的场景故事为:
教师出一道题,班级中所有学生进行抢答,抢答后教师关闭抢答
那如何使用jmeter构建多个角色处理不同但相关的事情呢?
首先按照时间顺序简化一下整个事务的流程:
- 教师 - 登陆
- 教师 - 开始上课
- 学生 - 登陆
- 学生 - 加入课堂
- 教师 - 发起抢答
- 学生 - 抢答
- 教师 - 关闭抢答
不同线程组
不同角色使用不同线程组发起请求
难点:
- 如何教师角色的线程组执行后,学生角色的线程组再执行
- 即使解决问题1但是如何循环多次同步执行
由于问题2解决成本大而且造成执行事务复杂化,故该方案不可行
计数器判断
在同一个线程组中,通过变量控制不同线程的执行角色
通过计数器控制器
方式
- 计数器使用时所有用户即所有线程都共享的方式
- 计数器叠加累计,假设50学生 1教师,每执行51次即所有线程都执行了一