大话JMeter2|正确get参数传递和HTTP如何正确使用

news2024/12/28 4:59:03

上节课展示了JMeter的基础用法:录制回放功能,断言,聚合报告。但是在无UI下如何进行接口的访问呢?如何正确get参数传递和HTTP如何正确使用。尤其是在无UI下进行接口的访问。小哥哥带着你用漫画来学习JMeter,让你在轻松的环境里了解新知识。

要创建采样器,只需要二步

  1. 添加 “Thread Group”

  2. 添加 “Http Request” Sampler

下面的接口逻辑如下:

接口介绍

我们使用的接口是自己创建的程序,同学可以自行寻找其它接口进行训练!

下面就是大名鼎鼎的登录接口:

Path: /api/v1/user/login

Method: POST

Header: { Content-Type : application/json }

request body:

"authRequest": {
       "userName": "{{login_email}}",
        "password": "{{login_pwd}}"}

我们向/api/v1/user/login发送请求,发送的header中需要包括Content-Type : application/json,请求体中如果含有:

"authRequest": {    "userName":"{{login_email}}",    "password": "{{login_pwd}}"}。

服务器会给我们一个反馈,它会验证邮箱和密码是否正确。如果login_email和login_pwd错误,我们将会得到Fail下面的信息:

Fail:
{    "code": "401",    "message": "login fail"}

如果login_email和login_pwd正确,将会得到Success下面的信息:

Success:
{  
     "code": "200",  
     "message": "login success",
     "access_token": "[access_token]"
}

有了这个access_token,我们就拿到了许可证。

浏览菜单接口

Path: /api/v1/menu/list

Method: GET

Header: {
Content-Type : application/json,
access_token : [access_token]
}

request parameter:type 
可选参数: breakfast, lunch, dinner

- Success:
{      "breakfast": [{
       "menu_nunber": "01",
       "menu_price": 5.50,
       "menu_name": "小笼包"},        
        { 
       "menu_nunber": "02",
       "menu_price": 3.00,
       "menu_name": "八宝粥" },
            ……
            ]
}

订单确认接口

Path: /api/v1/menu/confirm

Method: POST

Header: {
   Content-Type : application/json,
   access_token : [access_token]
}

request body:
{    "order_list": [ 
    { "menu_nunber" : "01",            
           "number" : 1 },        
    { "menu_nunber" : "03",            
          "number" : 2 }
          ]
}

Success : {  
     "code": "200",    
     "message": "Order success.",    
      "total": 3  #订单菜品总数}

Fail : 如果header中的 access_token 错误
{    
        "code": "401",    
        "message": "Please login first."}

注销接口

Path: /api/v1/user/logout

Method: DELETE

Header: {
Content-Type : application/json,
access_token : [access_token]
}

request parameter & body:None

Success : {    
     "code": "200",    
     "message": "logout success"}

Fail : 如果header中的 access_token 错误{    

    "code": "401",    

    "message": "Unknown user info, logout fail."}

采样器中定义请求名称:用户登录

配置 Host 、Port、Path = /api/v1/user/login

配置 Method = POST

HttpRequest中的body中添加请求参数

{

    “authRequest”: {    

        “userName”: “user01”,

        “password”: “pwd”  

    }

}

在Http Request中添加 Http Header Manager, 管理该请求的header信息

添加 “View Result Tree” 用于查看 请求/响应 详情

在Http Header Manager中配置如下参数Content-Type :application/json

运行并在View Result Tree中检查运行结果

创建浏览菜单接口请求,添加HttpRequest请求。配置请求名称:浏览菜单

输入hostname、port、path = /api/v1/menu/list

设定 Method = GET

在HttpRequest中添加Http Header Manager,暂时保持Http Header Manager中为空,我们之后会对其进行配置

返回代码为 401 提示信息为 “Please login first.”。聪明的读者,你们能为小象解答原因吗?

我已经创建好了所有接口,暂时保持Http Header Manager中为空:

提取接口的JSON返回值,需要在对应的HttpRequest中添加JSON Extractor (JSON 提取器)

需要使用json path来匹配需要提取的变量值。由于篇幅有限,我就不讲解json path的使用方法了,请大家自行搜索。

$. 代表JSON的根节点。可以在View Result Tree中打开 JSON Path Tester来确定所匹配的JSON变量路径的正确性

在JSON Extractor中填入如下信息

  • 量名称

  • JSON路径表达式

  • 匹配编号

在接口请求的header中添加access_token变量。JMeter中引用变量的方法 ${变量名}

在浏览菜单接口,订单确认接口, 用户注销接口中的header中添加${access_token} 变量

运行调试结果,配置正确之后,后台接口可以回传正常响应结果数据

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

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

相关文章

【MMAsia 2021】Patch-Based Deep Autoencoder for Point Cloud Geometry Compression

文章目录Patch-Based Deep Autoencoder for Point Cloud Geometry Compression压缩流程自编码架构实验结果Patch-Based Deep Autoencoder for Point Cloud Geometry Compression https://arxiv.org/abs/2110.09109 这篇论文使用深度自编码器,提出了一种基于分块&am…

发票识别OCR及查验API接口为企业化解难题

对于当今的现代企业来说,分散的财务管理模式效率不高,管理成本反而相对较高,制约了集团企业发展战略的实施,因而需要建设财务共享模式。一个企业要建成财务共享中心,面临的难题是大量的数据采集和信息处理工作&#xf…

一组类型相同的数据【C 数组】总结

作者 : 会敲代码的Steve 墓志铭:博学笃志 切问静思 前言:本文旨在复习C语言数组章节的知识点、分为以下几个部分: 什么是数组一维数组、一维数组的初始化、一维数组的遍历、冒泡排序。二维数组、二维数组的创建和初始化、二维数…

多功能采集仪VH03接口使用说明

传感器接口 传感器接口须使用设备专门配备的测线,一端为 DB9 一端为用颜色区分的多个鳄鱼夹,线(鳄鱼夹)颜色和功能定义详见“设备组成和接口定义” 。 充电和通讯接口 VH03 使用标准的 USB Type-C 接口完成设备充电和通讯&…

创建一个vue项目

文章目录前言一、安装node.js二、vue ui命令没有反应原因1.vue ui命令是vue 3.x版本以上才支持,因此需要更新vue的版本。2.更新vue版本2.1首先使用以下命令卸载旧版本2.2然后使用下面命令安装最新版本2.3查看是当前版本号2.4此时,输入 vue -h 命令查看co…

HMS Core 3D流体仿真技术,打造移动端PC级流体动效

移动设备硬件的高速发展,让游戏行业发生翻天覆地的变化,许多酷炫的游戏效果不再局限于电脑端,玩家在移动端就能享受到场景更逼真、画质更清晰、体验更流畅的游戏服务。但由于移动设备算力不足,为了实现真实感的水体效果&#xff0…

cesium地形上面绘点时,山背面点位始终显示在地形上

cesium地形上面绘点时,山背面点位始终显示在地形上,如下图: 深度检测也是打开的,各种方法试完之后,也没有找到问题,把viewer属性注释之后,就没有出现这个问题,于是一个个属性&#…

【LeetCode】C语言实现---用队列实现栈用栈实现队列

目录👉用队列实现栈👉用栈实现队列👉用队列实现栈 入口:OJ 题目描述: 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 em…

redis的消息发布订阅实现

文章目录前言一、创建好springboot项目,引入核心依赖二、使用步骤1. 自定义一个消息接受类2.声名一个消息配置类3.编写一个测试类总结前言 一般项目中都会使用redis作为缓存使用,加速用户体验,实现分布式锁等等,redis可以说为项目中的优化,关键技术实现立下了汗马功劳.今天带来…

YonBuilder应用构建教程之移动端基础配置

在YonBuilder中除了PC端应用的构建外,我们还可以构建配套的移动端页面。对于同一个数据实体可以实现PC端和移动端的数据同步修改,使数据录入、修改、审批等更加便捷。本篇文章通过对员工信息实体的移动端页面构建来对YonBuilder移动端配置的基础流程进行…

利用ENVI对遥感图像校正

1.几何校正 引起图像几何变形一般分为两大类:系统性和非系统性。系统性一般由传感器本身引起,有规律可循和可预测性,可以用传感器模型来校正,卫星地面接收站已经完成这项工作;非系统性几何变形是不规律的,它可以是传感器平台本身…

【Axure高保真原型】移动端钱包原型模板

今天和大家分享移动端钱包的原型模板,里面包含了11大模块,各个模块都是高保真高交互的原型模板,大家可以在演示地址里体验哦 【原型预览及下载地址】 https://axhub.im/ax9/4c3757a85d201a4c/#c1 这个原型还可以在手机上演示哦&#xff0c…

Bitmiracle Docotic.Pdf Library 8.8.14015 Crack

C# 和 VB.NET 的 PDF 库 Docotic.Pdf 是用于 .NET 的高性能 C# PDF 库。您可以使用它在 .NET Core、ASP.NET、Windows Forms、WPF、Xamarin、Blazor、Unity 和 HoloLense 应用程序中创建、阅读和编辑 PDF 文档。 该库支持 .NET 6、.NET 5、.NET Standard/.NET Core 和 .NET 4.…

Opencv(C++)笔记--模板匹配cv::matchTemplate()和最值计算cv::minMaxLoc()

目录 1--模板匹配 1-1--OpenCV API 1-2--六种匹配方法 1-3--代码实例 2--最值计算 2-1--OpenCV API 1--模板匹配 使用模板图像与原图像进行匹配,OpenCV提供了相应的模板匹配函数cv::matchTemplate(),并支持六种模板匹配方法。 1-1--OpenCV API vo…

【Linux】Linux项目自动化构建工具——make/Makefile

我举报,有人不学习!!! 文章目录一、makefile原理二、初步理解makefile的语法1.gcc如何得知,源文件不需要再编译了呢?2.为什么执行的指令是make和make clean呢?三、makefile的推导规则四、Linux…

2023年1月数据治理认证DAMA-CDGA/CDGP(线上)招生简章

DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业…

C语言刷题系列——17.计算平均成绩 18.找出总分最高的学生19.通讯录排序

结构 - PTA练习题🐤计算平均成绩🏀 题目要求🏀 题解💻step1.定义结构体💻step2.输入N;随后N行 每行给出一位学生的信息💻step3.求平均值💻step4.输出平均线以下的学生的信息&#x1…

数据可视化最简单的方式-饼状图,折线图,条形图

一个软件或者网站分为前端,后端。 后端传统意义就是处理后端的数据。 后端又分为数据库编程人员和后端业务逻辑人员。 前端顾名思义解决后端传递的数据。传递的数据如何显示是前端人员考虑的问题。 前端人员不光要设计好网页界面,而且要将数据的可视…

嵌入式:ARM协处理器指令总结

文章目录(一)协处理器的数据操作二进制编码汇编格式(二)协处理器的数据存取二进制编码汇编格式(三)协处理器的寄存器传送二进制编码汇编格式未使用的指令空间ARM支持16个协处理器,用于各种协处理…

java Redis基础 数据类型 常用命令 java中使用Redis

Redis是一个基于内存的key-value结构数据库。 Redis入门 Redis简介 Redis应用场景: Redis 下载与安装 Windows版下载地址:https://github.com/microsoftarchive/redis/releases Linux版下载地址: https://download.redis.io/releases/ Red…