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接口测试-基础

测试-感想

咨询工作加微信

扫描二维码

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

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

jmeter接口测试实战-创建用户的更多相关文章

  1. JMeter接口测试实战-动态数据验证

    JMeter接口测试实战-动态数据验证 说到验证就不得不说断言, 先来看下JMeter官方给出断言(Assertion)的定义, 用于检查测试中得到的响应数据等是否符合预期,用以保证测试过程中的数据交 ...

  2. Jmeter接口测试实战-数据传递

    Jmeter接口测试实战-数据传递 接口与接口之间没有关联的测试是缺乏意义和没有灵魂的,只有数据在不同接口之间传递才能勾画出业务场景重要的链路. 我们用较为通用的http/https协议,接口普遍返回 ...

  3. Jmeter 接口测试实战-有趣的cookie

    Jmeter 接口测试实战-有趣的cookie 场景: 接口测试时常都需要登录,请求方式(post), 登录常用的方法有通过获取token, 获取session, 获取cookie, 等等. 这几种都 ...

  4. 【JMeter】【微信好文收藏】Jmeter接口测试实战-有趣的cookie

    场景: 接口测试时常都需要登录,请求方式(post), 登录常用的方法有通过获取token, 获取session, 获取cookie, 等等. 这几种都有一个共同的特点, 有效期(expires). ...

  5. Jmeter接口测试实战-Cookies

    场景: 接口测试时常都需要登录,请求方式(post), 登录常用的方法有通过获取token, 获取session, 获取cookie, 等等. 这几种都有一个共同的特点, 有效期(expires). ...

  6. 从0开始Jmeter接口测试实战

    在之前的文章中给大家介绍过接口测试文档和接口测试用例示例,本文基于Jmeter工具给大家介绍一下如何实现接口测试用例:包括发起Http请求,绕过登陆,验证响应.JMeter是Apache组织开发的基于 ...

  7. Jmeter接口测试实战之HTTP Cookie管理器(十二 )

    在使用测试工具Jmeter做接口测试中,怎么记录下它登录成功后的信息,在接口测试的应用场景中,一般对业务的操作都是基于用户登录情况下的操作.它的测试步骤相对来说很简单的,其实在Jmeter的测试工具中 ...

  8. jmeter接口测试实战简例

    1.接口需求文档说明 2.打开jmeter,新建线程组,线程组里面默认配置就可以 3.建立http请求,我这里是http请求,所以我选择这个,跟进实际情况 4.post请求说明,post直接加参数和参 ...

  9. jmeter接口测试实战

    请求方法:get/post 接口请求地址:http://172.22.24.26:8080/fundhouse/external/getdata?name=xxxx &fund_udid=35 ...

随机推荐

  1. VBC#代码互转工具

    VBCSHARP代码互转工具,适用于VB.NET和C#代码相互转换翻译,可代码段转换和批量文件转换.于2019年3月5日制作完成,允许各群随意分发和使用. 下载地址:下载链接 欢迎使用 下载地址:下载 ...

  2. wow.js让css3动画变动更有趣(滚动页面动画模拟懒加载特效)

    CSS3的出现给网站页面增加了活力,网站增色不少,有这么小小的一款插件就能做出很多动画效果. 最重要的是它:简单易用.轻量级.无需 jQuery......他就是wow.js 地址:https://d ...

  3. Andorid之页面布局优化

    文章大纲 一.为什么要进行页面布局优化二.页面布局优化实操三.项目源码下载四.参考文章 一.为什么要进行页面布局优化   在开发Android时,会遇到某些是通用的布局,我们常将一些通用的视图提取到一 ...

  4. QT读取xml配置文件

    //获取字符串字段 QString ConfigHelper::GetStringConfigValue(QString str) { if(str == "InitDeviceNo&quo ...

  5. Socket模拟HTTP请求

    WEB服务器可以可以理解为socket的上层封装,其也是TCP/IP协议,只要知道其IP地址和端口号就可以与他进行通信了 与WEB服务器数据交互,其重点在于请求头,如果请求头不对则不能进行数据传输 简 ...

  6. QPainterPath 不规则提示框(二)

    前一篇讲过不规则提示框,但是提示框的方向是固定的,不能达到随意变换方向的效果,本接讲述可以动态变换方向的提示框 先看效果图 图1 图2 图3 图4 如上图1所示,上一篇文章的代码可以达到类似效果 ​本 ...

  7. 广告等第三方应用嵌入到web页面方案 之 使用iframe嵌入

    有些项目中可能会遇到这样的需求, 需要在一个项目中嵌入其他的项目的页面或者功能.并且需要这两个页面之间能够进行交互. 本文主要介绍如何实现这种第三方应用的嵌入, 主要有以下几个方向: 1.iframe ...

  8. 【Android Studio安装部署系列】五、新建你的第一个项目:HelloWorld

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 新建项目的步骤. 开始创建项目 如果是刚安装Android studio的话,点击Start a new Android Studi ...

  9. Asp.Net Core 轻松学-实现跨平台的自定义Json数据包

    前言     在前后端分离的业务开发中,我们总是需要返回各种各样的数据包格式,一个良好的 json 格式数据包是我们一贯奉行的原则,下面就利用 Json.Net 来做一个简单具有跨平台的序列化数据包实 ...

  10. Python 包构建教程

    目录 setuptools 和 setup.py 你所需要做的事 & 一些概念 基础概念 关于源码分发文件和二进制分发文件 示例和分发选择 pure python module package ...