JMeter实操入门之登录

JMeter实操入门之登录

  • 前言
  • 初级-无变量的登录
    • 线程组
    • 取样器-HTTP请求
  • 进阶-定义变量的登录
    • 用户定义的变量
    • 获取JSON返回的数据-token
    • token设置全局变量

前言

安装及环境配置教程可移步:JMeter安装与配置环境

本篇文章针对小白进一步的认识及运用JMeter,围绕知识点会有:线程组、用户定义变量、全局变量、HTTP信息头管理器等

初级-无变量的登录

  1. 测试计划下,右击添加线程组
    JMeter实操入门之登录_第1张图片

线程组

一个线程组能够看作一个虚拟用户组,线程组中的每一个线程均可以理解为一个虚拟用户。多个用户同时去执行相同的一批次任务。每一个线程之间都是隔离的,互不影响的。一个线程的执行过程当中,操作的变量,不会影响其余线程的变量值。
如下图:1s 内启动并运行 1个线程,一共启动 10个线程,总共发送 1 个请求(一个用户只请求一次)
JMeter实操入门之登录_第2张图片

  1. 线程组下,右击选择取样器,添加HTTP请求
    JMeter实操入门之登录_第3张图片

取样器-HTTP请求

Parameters参数
Body Data主体数据
具体看登录的接口是怎么请求的如下图,是通过Body Data传参的
JMeter实操入门之登录_第4张图片
F12查看接口请求的数据:接口https://smarthotel.laiyijian.cn/smarthotel-authentication/open/admin-auth/createToken
拆解填入JMeter-HTTP请求中
① 协议为:https
②服务器IP(HOST): smarthotel.laiyijian.cn
③请求方式:POST
④接口路径:/smarthotel-authentication/open/admin-auth/createToken
⑤请求的BODY参数为:

{
	"username": "myy@mall", 
	"password": "admin123456", 
	"loginChannel": 1
	}

JMeter实操入门之登录_第5张图片
3. 线程组下,选择配置元件,添加HTTP信息头管理器

  • 注意Content-Type: application/json
    • jmeter中如果不指定content-type,默认使用此格式(参数格式:key1=value1&key2=value2)
    • application/json不是默认的文件类型,所以需要告诉服务器我们发送的请求信息是哪种格式的。申明方法为添加信息头管理,在里面申明类型,消息头管理器添加方法:http请求上点击右键-添加-配置元件-HTTP信息头管理器
      JMeter实操入门之登录_第6张图片
content-type
application/json

JMeter实操入门之登录_第7张图片

  1. 线程组下,右击选择监听器,添加结果树
    JMeter实操入门之登录_第8张图片

  2. 运行,查看结果
    JMeter实操入门之登录_第9张图片
    默认txt,改成JSON。(用于查看响应数据)
    JMeter实操入门之登录_第10张图片

  • 如果返回的数据有乱码
    • 方法一:可在消息请求头中设置为Content-Type:application/json;charset=UTF-8
    • 方法二:检查jmeter.properties修改sampleresult.default.encoding=UTF-8
    • JMeter实操入门之登录_第11张图片

进阶-定义变量的登录

本篇登录可定义的变量有:服务器IP、接口Body Data的用户名、密码

用户定义的变量

  1. 测试计划下,选择配置元件,添加用户定义的变量
    JMeter实操入门之登录_第12张图片
  2. 添加服务器IP、接口Body Data的用户名、密码。设置的名称到时候需要去引用的
    JMeter实操入门之登录_第13张图片
    3.在登录HTTP请求中,引用变量

JMeter实操入门之登录_第14张图片
4. 运行查看请求是否正常
JMeter实操入门之登录_第15张图片

获取JSON返回的数据-token

添加多个线程组同时运行其他接口的情况下,可以从登录返回的JSON中获取token

  1. HTTP信息头管理器下,选择后置处理器,添加JSON Extractor
    JMeter实操入门之登录_第16张图片
  2. 变量名:token
    JSON参数路径:$.data.token
    JMeter实操入门之登录_第17张图片
    JSON参数返回如下可以看出是data下的token
    JMeter实操入门之登录_第18张图片
  3. 线程组下,选择取样器,添加Debug取样器查看是否获取了token变量

JMeter实操入门之登录_第19张图片
JMeter实操入门之登录_第20张图片

token设置全局变量

通过后置定义token变量后,如需要在别的线程组使用,需要定义全局变量

  1. 线程组下,选择取样器,添加Bean Shell Sampler
    JMeter实操入门之登录_第21张图片
    表达式: ${__setProperty(全局变量名,${局部变量名},)};
    JMeter实操入门之登录_第22张图片

  2. 在别的线程组下HTTP信息头中引用
    表达式:${__property(全局变量名)}
    JMeter实操入门之登录_第23张图片
    因为Authorization需要获得Bearer加token值。具体看自己需要用到的
    JMeter实操入门之登录_第24张图片

  3. 最后运行结果如下:每个线程组中都可以加个结果树,便于单个查看请求的数据是否正确。
    JMeter实操入门之登录_第25张图片

  4. 完成后,需要保存测试计划。
    测试计划下,选择监听器,添加Simple Data Writer
    JMeter实操入门之登录_第26张图片
    保存文件路径,后缀可以.jmx
    JMeter实操入门之登录_第27张图片
    下次打开Jmeter可以直接打开该测试计划
    JMeter实操入门之登录_第28张图片

你可能感兴趣的:(测试,jmeter)