如何在JMeter中使用同一用户多次申请同一场招聘会?
招聘会申请功能负载测试问题解决方案
- 前置状态重置:每次执行申请请求前,先清理当前用户的申请记录。如果是JMeter测试可以在线程组的前置处理器中添加对应操作:要么直接连接测试数据库执行
DELETE FROM 申请表名 WHERE 用户ID = '当前测试用户ID' AND 岗位ID = '测试目标岗位ID'的SQL语句,要么调用后台内部的重置用户申请状态的接口,确保每次发起申请时用户都处于未申请的有效状态。 - 替换为多用户测试方案:如果你的负载测试需要对齐真实业务场景,本身单个用户就仅能申请一次,单用户压测不符合实际用户行为逻辑。你可以向项目相关人员申请批量开通测试账号,将账号密码信息存入CSV文件,通过JMeter的
CSV Data Set Config组件循环读取不同账号完成登录、申请的全流程,从根源避免重复申请的冲突问题。 - 临时关闭测试环境权限校验:若仅需要测试申请接口本身的并发承载能力,不需要严格匹配线上业务规则,可以联系开发暂时关闭测试环境中「同一用户仅可申请一次」的校验逻辑,测试完成后再恢复原有配置,即可用单个账号完成多并发申请的压测。
- 调整单线程循环逻辑:如果暂时无法获取多账号、也没有修改测试环境配置的权限,可以把线程组设置为单线程多循环,每次申请完成后先执行状态重置操作再发起下一次申请,也可以测出申请接口的性能阈值,只是这种方案无法模拟多用户并发的真实场景。
内容的提问来源于stack exchange,提问作者user16652756
相关产品推荐
相关产品推荐

