JMeter实操入门之登录

JMeter实操入门之登录

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

前言

安装及环境配置教程可移步: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可以直接打开该测试计划
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/634824.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

湖(岛屿)

from book:挑战程序设计竞赛

表的增删改查 进阶(二)

🎥 个人主页:Dikz12🔥个人专栏:MySql📕格言:那些在暗处执拗生长的花,终有一日会馥郁传香欢迎大家👍点赞✍评论⭐收藏 目录 3.新增 4.查询 聚合查询 聚合函数 GROUP BY子句 HA…

shell编程学习

学习目标: 一周掌握 shell编程 变量的高级用法 变量替换 ##变量替换(贪婪,从前往后匹配,匹配到进行删除) test1I love you,you love me echo $test1 handletest1${test1##*ov} echo $handletest1##变量替换&#xff…

C#,入门教程(07)——软件项目的源文件与目录结构

上一篇: C#,入门教程(06)——解决方案资源管理器,代码文件与文件夹的管理工具https://blog.csdn.net/beijinghorn/article/details/124895033 创建新的 C# 项目后, Visual Studio 会自动创建一系列的目录与文件。 程序员后面的工…

使用 Kali Linux Hydra 工具进行攻击测试和警报生成

一、Hydra 工具和 Kali Linux 简介 在网络安全领域中,渗透测试是评估系统密码强度的重要组成部分。Hydra 是一款由黑客组织“The Hackers Choice”开发的开源登录破解工具,支持50多种协议。本教程将探索如何将 Hydra 与 Kali Linux 结合使用&#xff0c…

Android.mk和Android.bp的区别和转换详解

Android.mk和Android.bp的区别和转换详解 文章目录 Android.mk和Android.bp的区别和转换详解一、前言二、Android.mk和Android.bp的联系三、Android.mk和Android.bp的区别1、语法:2、灵活性:3、版本兼容性:4、向后兼容性:5、编译区…

新上线一个IT公司微信小程序

项目介绍 项目背景: 一家IT公司,业务包含以下六大块: 1、IT设备回收 2、IT设备租赁 3、IT设备销售 4、IT设备维修 5、IT外包 6、IT软件开发 通过小程序,提供在线下单,在线制单,在线销售,业务介绍,推广,会员 项目目的: 业务介绍: 包含企业业务介绍 客户需…

万字讲解新一代分布式任务调度框架Power-job

1、简介 Power-Job 的设计目标是成为企业级的分布式任务调度平台,整个公司统一部署调度中心 power-job-server,旗下所有业务线应用只需要依赖 power-job-worker 即可接入调度中心获取任务调度与分布式计算能力。 Power-job官方网址:http:/…

链动2+1模式:月流水6000万是怎么做到的?

一个好的企业往往只需要最简单的营销方式。当我们面对当今的商业市场,琳琅满目的商业模式,应接不暇的营销方案,我们一定会举足无措的不知道怎么选择。因为一个好的公司或企业,一定要有一个十分经得起推敲的模式来面对消费者。 那么…

失眠了,感谢技术人对“Spring Cloud Alibaba实战派的支持”

笔者从2015年开始接触Spring Boot,2017年开始接触Spring Cloud,到现在的Spring Cloud Alibaba已经整整快7个年头了,从2012年开始接触Java到现在已经整整10年了。 这里并没有倚老卖老的意思,只是想说作为一个纯碎的技术人&#xf…

Gin 框架之Cookie与Session

文章目录 一、Cookie和Session的由来二、Cookie简介1. 什么是Cookie2. Cookie规范3. 安全性4. Cookie 关键配置 三、Session简介1. 什么是Session2. Session 安全性3. 如何让客户端携带 sess_id 四、使用 Gin 的 Session 插件4.1 介绍4.2 基本使用 五、 session与store5.1 会话…

Win10 打开文件突然鼠标变成一个蓝色大圈卡住点不了也打不开文件,重启电脑也是这样

环境: Win10 专业版 加密客户端环境 问题描述: Win10 打开桌面word文件突然鼠标变成一个蓝色大圈卡住点不了也打不开文件,重启电脑也是这样,只有蓝色圈变大没有鼠标指针出现圈卡着不会动,和那些有鼠标箭头加小蓝色圈不一样 解决方案: 某网上查看的,还是要自己排查…

linux 更新镜像源

打开终端,备份一下旧的 源 文件,以防万一 cd /etc/apt/ ls sudo cp sources.list sources.list.bak ls然后打开清华大学开源软件镜像站 搜索一下你的linux发行版本,我这里是ubuntu发行版本 点击这个上面图中的问号 查看一下自己的版本号&a…

MySQL复合查询解析

🎈行百里者半九十🎈 🎈目录🎈 概念多表查询自连接子查询单行子查询多行子查询in关键字all关键字any关键字 多列子查询在from中使用子查询合并查询unionunion all 总结 概念 之前我们很多的查询都只是对于单表进行查询&#xff0c…

飞书修改不了名称?飞书如何修改名称,修改昵称

飞书如何修改名称 点击编辑信息 在这里修改姓名就可以啦

Day31 46全排列 47全排列II 回溯去重tips 51N皇后 37解数独

46 全排列 给定一个 没有重复 数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3]输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 排列问题与组合问题的不同之处就在于,没有startIndex,同时需要设置一个used数组…

Ant Design Vue上传多个图片

模板代码&#xff1a; 定义变量&#xff1a; 文件限制的函数&#xff1a; 上传的函数&#xff1a; 样式函数&#xff1a; 完整代码&#xff1a; <template><div class"dialog-upload" v-if"showUploadDialog"><div class"dialog-uplo…

【PIE-Engine 数据资源】全球 10 米土地覆盖产品 (ESA-2020)

文章目录 一、 简介二、描述三、波段四、示例代码参考资料 一、 简介 数据名称全球 10 米土地覆盖产品 (ESA-2020)时间范围2020年空间范围全球数据来源ESA WorldCover project 2020代码片段var imagespie. ImageCollection (“ESA/WORLD_COVER_2020”) 二、描述 全球 10 米土…

nvm, node.js, npm, yarn 安装配置

文章目录 nvm 安装node.js 安装npm yarn 配置 nvm 安装 nvm 是一个 node.js 管理工具&#xff0c;可以快捷下载安装使用多个版本的node.js linux 命令行输入&#xff1a; curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bashwget -qO- https…

主机自动重启或自动关机故障

公司有两台品牌机&#xff0c;使用约1年半&#xff0c;最近频繁出现自动重启或自动关机现象。 排除插线板、电源线等电源的问题&#xff0c;拆机查看。 故障后的主机拆开后&#xff0c;先摸了一下散热片&#xff0c;并不烫手。 仔细查看内部&#xff0c;排线规整&#xff0c…