jmeter接口测试实战-创建用户
相信大多数看到标题的同学都会有疑问, 创建用户不是很简单吗, 调用一下创建用户接口, 传入指定入参, 用户即可创建成功, 今天我们的实战来讲讲创建场景.通过接口创建用户前面的想法没有问题, 但在实际项目并不是那么简单的.
场景:
在企业中, 多数会有很多管理系统如CMS, CRM, 中台等各种管理系统, 这些有一个共同点就是区分用户权限, 如: 张三是管理员权限, 李四是部门经理权限, 王五是普通权限.
这个场景的要点是:
-
用户名唯一.
-
不同用户不同权限.
按照一般接口测试原理, 要重复三次分别调用创建用户API实现, 如果还有更多角色, 就这样重复下去? 显然这不是我们接口测试想要的思想.
存在缺点:
维护成本太高, 脚本冗余.
脚本不具备通用型, 扩展性欠佳.
有些同学会想到用csv data config, 但csv有局限性, csv里数据需要我们提前准备好, 同时csv文件需要跟着jmeter脚本走, 部署到不同环境就要把csv文件这个小弟带上, 比较烦!
有没有别的办法呢? 继续往下看, 本文主要是拓展思路, 避免使用之前推文已经使用过的玩法, 又能学到新的知识点.
分析:
要点一:用户名必须唯一, 用随机数即可做到.
要点二:创建用户同时赋不同权限, 那就把权限对应值用变量定义好, 真正项目里权限应该有张表(多数情况是这样), 可以从DB中获取,然后再放到自定义变量中,本实战演示就简化从DB读取的步骤,之前推文已经讲述过从DB中获取数组对象再赋值给变量, 这里就不再赘述.
Do it!
第一步: 在线程组中new一个创建用户sampler, 并传入指定入参
userName是用户名, 使用随机数产生
userJobId 是控制用户权限
第二步 在该sampler下添加随机变量
这里为什么使用随机变量而不使用随机函数是有道理的,同学们看完实例后不妨试试随机函数, 如果你知道答案了欢迎加我私聊, 说明你下功夫认真实践了, 恭喜你学会了本章内容.
变量名称:就是json中的用户名
输出格式:因为创建用户的需求是有规则的,要求数字和字母混合且长度在8~30之间, 配置随机发生器就不多讲了, 多修改几次里面的值就知道什么作用.
第四步 添加for Each控制器
输出变量JobID就是我们在json中用的${JobId}给userJobID赋值用的.
输出变量前缀userjobid又是怎么回事呢, 继续往下看
第五步 添加用户自定义变量, 定义用户权限, 1是普通用户, 0是管理员, 如果还有其他权限这里添加, 也可以从DB中读取数组对象然后赋值给变量.
现在明白了吧, 输出变量前缀就在这里, 赋值给相应变量.
第六步 创建循环控制器
因为这里userjobid在自定义变量里只有2个值, 设定循环1次
最后再看下层级结构
把观察结果树加上, 就可以执行了
可以看见结果树上分别创建了2个不同名称的用户CS_zhw36926和CS_zhw9887, userjobid分别是1 和 0 属于不同角色
再来看响应数据, 返回success为ture ,用户创建成功
数据落库检查
实战讲解至此结束.
通过以上方法, 一条接口测试脚本,满足了一次创建多个不同用户名称和不同角色, 增强了代码的复用性, 扩展性; 提高代码免维护性, 同时也避免了csv这种走到哪里都要带着个小弟的麻烦事情.
今日推荐阅读文章精选推荐
为什么要做接口测试
JMeter数据库操作
Jmeter接口测试-正则表达式
JMeter中文返回乱码
Jmeter接口测试-参数化
JMeter接口测试-基础
测试-感想
咨询工作加微信
扫描二维码
欢迎自荐和推荐, 需要的微信推送简历!
请猛戳下面二维码了解更多
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/193907.html