• jmeter接口测试实战-创建用户


    jmeter接口测试实战-创建用户

    相信大多数看到标题的同学都会有疑问, 创建用户不是很简单吗, 调用一下创建用户接口, 传入指定入参, 用户即可创建成功, 今天我们的实战来讲讲创建场景.通过接口创建用户前面的想法没有问题, 但在实际项目并不是那么简单的.

    场景:

    在企业中, 多数会有很多管理系统如CMS, CRM, 中台等各种管理系统, 这些有一个共同点就是区分用户权限, 如: 张三是管理员权限, 李四是部门经理权限, 王五是普通权限.

    这个场景的要点是:

    用户名唯一.

    不同用户不同权限.

    按照一般接口测试原理, 要重复三次分别调用创建用户API实现, 如果还有更多角色, 就这样重复下去? 显然这不是我们接口测试想要的思想.

    存在缺点:

    维护成本太高, 脚本冗余.

    脚本不具备通用型, 扩展性欠佳.

    有些同学会想到用csv data config, 但csv有局限性, csv里数据需要我们提前准备好, 同时csv文件需要跟着jmeter脚本走, 部署到不同环境就要把csv文件这个小弟带上, 比较烦!

    有没有别的办法呢? 继续往下看, 本文主要是拓展思路, 避免使用之前推文已经使用过的玩法, 又能学到新的知识点.

    分析:

    要点一:用户名必须唯一, 用随机数即可做到.

    要点二:创建用户同时赋不同权限, 那就把权限对应值用变量定义好, 真正项目里权限应该有张表(多数情况是这样), 可以从DB中获取,然后再放到自定义变量中,本实战演示就简化从DB读取的步骤,之前推文已经讲述过从DB中获取数组对象再赋值给变量, 这里就不再赘述.

    动手:

    第一步: 在线程组中new一个创建用户sampler, 并传入指定入参

    userName是用户名, 使用随机数产生

    userJobId 是控制用户权限

    第二步 在该sampler下添加随机变量

    这里为什么使用随机变量而不使用随机函数是有道理的,同学们看完实例后不妨试试随机函数, 如果你知道答案了欢迎加我私聊, 说明你下功夫认真实践了, 恭喜你学会了本章内容.

    变量名称:就是json中的用户名

    输出格式:因为创建用户的需求是有规则的,要求数字和字母混合且长度在8~30之间, 配置随机发生器就不多讲了, 多修改几次里面的值就知道什么作用.

    第四步 添加for Each控制器

    输出变量JobID就是我们在json中用的${JobId}给userJobID赋值用的.

    输出变量前缀userjobid又是怎么回事呢, 继续往下看

    第五步 添加用户自定义变量, 定义用户权限, 1是普通用户, 0是管理员, 如果还有其他权限这里添加, 也可以从DB中读取数组对象然后赋值给变量.

    现在明白了吧, 输出变量前缀就在这里, 赋值给相应变量.

    第六步 创建循环控制器

    因为这里userjobid在自定义变量里只有2个值, 设定循环1次

    最后再看下层级结构

    把观察结果树加上, 就可以执行了

     可以看见结果树上分别创建了2个不同名称的用户CS_zhw36926和CSzhw9887, userjobid分别是1 和 0 属于不同角色

    再来看响应数据, 返回success为ture ,用户创建成功

    数据落库检查

    实战讲解至此结束.

    通过以上方法, 一条接口测试脚本,满足了一次创建多个不同用户名称和不同角色, 增强了代码的复用性, 扩展性; 提高代码免维护性, 同时也避免了csv这种走到哪里都要带着个小弟的麻烦事情.

    今日推荐阅读文章精选推荐

    为什么要做接口测试

    JMeter数据库操作

    Jmeter接口测试-正则表达式

    JMeter中文返回乱码

    Jmeter接口测试-参数化

    JMeter接口测试-基础

    测试-感想

    咨询工作加微信

    扫描二维码

    欢迎自荐和推荐, 需要的微信推送简历!

    请猛戳下面二维码了解更多

  • 相关阅读:
    max()和数组里面的max
    NYOJ 超级台阶
    NYOJ Fibonacci数
    floor()向下取整函数
    pow()函数
    HDU 小数化分数 1717
    大端和小端存储
    字节对齐
    CvvImage内存泄漏解决
    01矩阵中,把0的点的行和列都置零
  • 原文地址:https://www.cnblogs.com/louiezhou/p/10483770.html
Copyright © 2020-2023  润新知