JMeter实操入门之登录

发布时间:2024-01-19 18:38:56

前言

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

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

初级-无变量的登录

  1. 测试计划下,右击添加线程组
    在这里插入图片描述

线程组

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

  1. 线程组下,右击选择取样器,添加HTTP请求
    在这里插入图片描述

取样器-HTTP请求

Parameters参数
Body Data主体数据
具体看登录的接口是怎么请求的如下图,是通过Body Data传参的
在这里插入图片描述
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
	}

在这里插入图片描述
3. 线程组下,选择配置元件,添加HTTP信息头管理器

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

在这里插入图片描述

  1. 线程组下,右击选择监听器,添加结果树
    在这里插入图片描述

  2. 运行,查看结果
    在这里插入图片描述
    默认txt,改成JSON。(用于查看响应数据)
    在这里插入图片描述

  • 如果返回的数据有乱码
    • 方法一:可在消息请求头中设置为Content-Type:application/json;charset=UTF-8
    • 方法二:检查jmeter.properties修改sampleresult.default.encoding=UTF-8
    • 在这里插入图片描述

进阶-定义变量的登录

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

用户定义的变量

  1. 测试计划下,选择配置元件,添加用户定义的变量
    在这里插入图片描述
  2. 添加服务器IP、接口Body Data的用户名、密码。设置的名称到时候需要去引用的
    在这里插入图片描述
    3.在登录HTTP请求中,引用变量

在这里插入图片描述
4. 运行查看请求是否正常
在这里插入图片描述

获取JSON返回的数据-token

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

  1. HTTP信息头管理器下,选择后置处理器,添加JSON Extractor
    在这里插入图片描述
  2. 变量名:token
    JSON参数路径:$.data.token
    在这里插入图片描述
    JSON参数返回如下可以看出是data下的token
    在这里插入图片描述
  3. 线程组下,选择取样器,添加Debug取样器查看是否获取了token变量

在这里插入图片描述
在这里插入图片描述

token设置全局变量

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

  1. 线程组下,选择取样器,添加Bean Shell Sampler
    在这里插入图片描述
    表达式: ${__setProperty(全局变量名,${局部变量名},)};
    在这里插入图片描述

  2. 在别的线程组下HTTP信息头中引用
    表达式:${__property(全局变量名)}
    在这里插入图片描述
    因为Authorization需要获得Bearer加token值。具体看自己需要用到的
    在这里插入图片描述

  3. 最后运行结果如下:每个线程组中都可以加个结果树,便于单个查看请求的数据是否正确。
    在这里插入图片描述

  4. 完成后,需要保存测试计划。
    测试计划下,选择监听器,添加Simple Data Writer
    在这里插入图片描述
    保存文件路径,后缀可以.jmx
    在这里插入图片描述
    下次打开Jmeter可以直接打开该测试计划
    在这里插入图片描述

文章来源:https://blog.csdn.net/qq_44241551/article/details/135678044
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。