教你用JMeter做接口测试的几个简单实例

news2024/11/25 15:24:36

目录

前言

1、登录(POST)

登录

2、获取学生信息(GET)

获取学生信息

3、添加学生信息(POST,JSON)

添加学生信息

4、学生充值金币(POST,Cookie)

学生金币充值

5、获取所有学生信息(GET,header)

获取所有学生信息

6、文件上传(POST)

文件上传


前言

这次小项目是基于HTTP协议的接口,通过JMeter来完成一次基本的接口测试,完整复习一下JMeter的基本操作。

这次练手用的项目,提供的接口文档挺详细的,文末领取。

在实际项目中,测试也要先从开发那拿到接口说明书,分析熟悉业务后,写接口的测试用例,最后再在JMeter里写接口测试的脚本。

设置如下

jmeter接口测试视频教程:

敢称史上最全,jmeter接口测试实战教程,一学就会,零基础入门必看_哔哩哔哩_bilibiliicon-default.png?t=N3I4https://www.bilibili.com/video/BV1As4y1z7a3/?spm_id_from=333.999.0.0

1、登录(POST)

登录

登录接口

简要描述:

  • 登录接口

请求URL:

  • http://api.nnzhp.cn/api/user/login

请求方式:

  • post

参数名

必选

类型

说明

username

string

用户名

passwd

string

密码

登录接口POST请求,入参 username 和 passwd 都是必填项。

在线程组下添加一个察看结果树和HTTP请求默认值,前者可以方便查看所有请求的结果,后者在跑多个同域名的接口的测试的时候,可以设置默认值很实用。

接着就可以做HTTP请求,并加上相应的断言,看用错误密码登录和成功的登录的响应是否符合预期

具体如下: 

 

 

错误的密码时,登录失败,返回的响应体符合断言的预期:

请求正确,登录成功,断言通过:

 

2、获取学生信息(GET)

获取学生信息

简要描述:

  • 获取学生信息接口

请求URL:

  • http://api.nnzhp.cn/api/user/stu_info

请求方式:

  • get
参数名必选类型说明
stu_namestring学生姓名

从接口文档中,我们可以看到获取学生信息用到的是GET方式的请求,入参中 stu_name 为必填项,返回参数太多,就不细说了。

3、添加学生信息(POST,JSON)

添加学生信息

简要描述:

  • 添加学生信息,这个接口是用来讲入参是json类型的

请求URL:

  • http://api.nnzhp.cn/api/user/add_stu

请求方式:

  • post

  • 入参是json类型

参数名必选类型说明
namestring学生姓名
gradestring班级
phoneint电话
sexstring性别,如果不传默认为男
ageint年龄,如果不传默认为18
addrstring地址,如果不传默认为北京市昌平区

在添加学生信息的接口中,用到的也是POST请求方式,但与登录接口不同的是,它的入参是JSON类型的,接口文档中有1个JSON请求示例,我们可以直接复制过来,简单修改一下即可。如下:

  

在这里,由于这个学生信息已存在系统中了,因此返回添加失败的结果。所以,我需要添加1个新的学生信息,另外,这里需要调整下编码格式为utf-8,否则添加的学生信息会出现中文乱码。

 

jmeter接口测试视频教程:

敢称史上最全,jmeter接口测试实战教程,一学就会,零基础入门必看_哔哩哔哩_bilibiliicon-default.png?t=N3I4https://www.bilibili.com/video/BV1As4y1z7a3/?spm_id_from=333.999.0.0

4、学生充值金币(POST,Cookie)

学生金币充值

简要描述:

  • 学生金币充值接口,这个接口是为了讲添加cookie以及身份验证的

请求URL:

  • http://api.nnzhp.cn/api/user/gold_add

请求方式:

  • post

参数:

该接口有权限验证,需要admin用户才可以做操作,需要添加cookie

cookie中key为登录的用户名,value从登录接口中获取,登陆成功之后会返回sign

参数名必选类型说明
stu_idint学生id
goldint金币数量

这个接口有权限验证,需要admin用户登录成功后才可以进行充值,另外,在入参 stu_id 和 gold 中,我们发现 stu_id 指的是学生ID,这里其实就是最开始 获取学生信息 接口返回结果中的id字段,如下:

  

5、获取所有学生信息(GET,header)

获取所有学生信息

简要描述:

  • 这个接口是为了说明怎么添加header信息的

请求URL:

  • http://api.nnzhp.cn/api/user/all_stu

请求方式:

  • get

需要添加header信息,key为Referer value 为http://api.nnzhp.cn/

参数:

 从接口文档中,我们了解到,要获取所有学生信息,需要添加请求信息头,因此,我们创建一个线程组,在线程组下依次添加HTTP信息头管理器、HTTP请求、察看结果树,如下

 

 

6、文件上传(POST)

文件上传

简要描述:

  • 上传文件接口

请求URL:

  • http://api.nnzhp.cn/api/file/file_upload

请求方式:

  • post
参数名必选类型说明
filefile文件

在上传文件接口中,需要注意的是这里的入参是file类型的,因此,我们需要准备一个待上传的文件。

 

 jmeter接口测试视频教程:

敢称史上最全,jmeter接口测试实战教程,一学就会,零基础入门必看_哔哩哔哩_bilibiliicon-default.png?t=N3I4https://www.bilibili.com/video/BV1As4y1z7a3/?spm_id_from=333.999.0.0

 

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

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

相关文章

【Linux】11. 进程控制

小实验(谨慎测试) 1. 进程退出码的引出 2. 进程码的使用 3. 进程退出 3.1 进程退出情况 进程退出分三种情况: 1.代码运行完毕,结果正确 – return 0; 2.代码运行完毕,结果不正确 – 根据退出码判断错误情况 3.代码没有运行完毕,…

如何0基础自学黑客(网络安全)技术,万字长文教你如何学习黑客(网络安全)

一、自学网络安全学习的误区和陷阱 1.不要试图先成为一名程序员(以编程为基础的学习)再开始学习 我在之前的回答中,我都一再强调不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,而…

【数字化转型-06】数字化转型咨询项目中如何做好高层访谈

咨询项目中少不了至关重要的一步,那就是高层访谈,做好高层访谈,对于咨询项目至关重要,我们接触的维度越高,就会越能把控项目的真实意图,有的放矢,不会让下面的人带偏;另一方面我们也…

Vue3 使用 Ts 泛型 封装本地存储

前期回顾 NVM —— 你把我玩明白_彩色之外的博客-CSDN博客本文将学习 使用 NVM 管理node版本https://blog.csdn.net/m0_57904695/article/details/130670262?spm1001.2014.3001.5501 目录 新建 \src\utils\storage-utils.ts 使用 泛型示例 泛型交换变量 泛型 strin…

在Linux系统中用vim编写第一个C语言之gcc编译器

文章目录 在Linux系统中用vim编写第一个C语言HelloWorld第一步 创建第二步 编写第三步&#xff0c;编译第四步 运行 gcc四步骤gcc常用选项 在Linux系统中用vim编写第一个C语言HelloWorld 第一步 创建 vim HelloWorld.c第二步 编写 #include<stdio.h>int main(){printf(…

Android Jsoup爬取网页数据及其局限性,接口爬取数据的思路

1.Jsoup jsoup 是一款Java 的HTML解析器&#xff0c;可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API&#xff0c;可通过DOM&#xff0c;CSS以及类似于jQuery的操作方法来取出和操作数据。 需求是需要获取某个网站上的排行榜数据&#xff0c;用作App展示&am…

【axios】后端未收到前端post传参

今天遇到过问题&#xff0c;前端post请求参数明明已经传过去了&#xff0c;可是后端说没收到&#xff0c;不知道后端大哥是不是故意搞我。 代码前端图如下↓ 代码 import axios from axios //对象形式 const val {pass:123,user:name}axios.post(/api/login, val).then(res>…

Vue3-黑马(十三)

目录&#xff1a; &#xff08;1&#xff09;vue3-router-动态路由3 &#xff08;2&#xff09;vue3-进阶router-动态菜单 &#xff08;3&#xff09;vue3-进阶-router-令牌-获取用户信息 &#xff08;1&#xff09;vue3-router-动态路由3 登录页面后&#xff0c;如果点击了…

Android技术探索与实践:从新功能体验到故障调试的全方位探索

目录 Android技术探索与实践&#xff1a;从新功能体验到故障调试的全方位探索 第一章&#xff1a;技术解析 Android平台的架构和工作原理 应用组件的生命周期和交互方式 Android开发中常用的设计模式和技术框架解析 第二章:产品新功能体验测评 深入了解最新发布的Androi…

【安卓源码】Binder机制5 -- Java层Framework Binder机制和 AIDL

图中红色代表整个framework层 binder架构相关组件&#xff1b; Binder类代表Server端&#xff0c;BinderProxy类代码Client端&#xff1b;图中蓝色代表Native层Binder架构相关组件&#xff1b;上层framework层的Binder逻辑是建立在Native层架构基础之上的&#xff0c;核心逻辑都…

shell编程:概述、脚本入门、变量、运算符、条件判断、流程控制、读取控制台、函数、正则表达式、文本处理工具、综合案例

第 1 章 Shell 概述 1&#xff09;Linux 提供的 Shell 解析器有 [atguiguhadoop101 ~]$ cat /etc/shells /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash /bin/tcsh /bin/csh2&#xff09;bash 和 sh 的关系 sh&#xff1a;比较基础bash&#xff1a;功能更加强大&#xff0c;默…

三十四、Hybrid 接口用法解析

文章目录 前言交换机接口类型有哪些Hybrid 端口使用场景什么时候必须使用 Hybrid 一、Hybrid 特点二、Hybrid 当做 access和trunk使用三、Hybrid 特殊用法 前言 交换机接口类型有哪些 Access、trunk、Hybrid、qinq Hybrid 端口使用场景 接pc、服务器、接交换机、接路由器&a…

Linux守护进程

"忍耐的灵魂啊&#xff0c;安静地运转吧~" 我们先来看看这个场景。这是一个常见的基于TCP套接字的网络服务器&#xff0c;服务端接收客户端发送的消息&#xff0c;收到后并向echo回响给客户端。 对于Linux而言&#xff0c;终端只能有一个前台进程&#xff0c;这也是为…

行业唯一丨冠珠出席“中国企业社会责任高峰论坛”,并荣获人民日报社“ESG年度案例”

践行社会责任&#xff0c;推动品牌高质量发展。5月11日&#xff0c;由人民日报社指导、人民日报社经济社会部主办的“中国企业社会责任高峰论坛”在上海盛大举行。 本次论坛围绕乡村振兴、共同富裕、绿色低碳等重点议题进行深入研讨&#xff0c;邀请国家发展和改革委员会、商务…

教程硬货|微信小程序开发之基于vue的微信开发工具JS文件解读(一)

文章目录 1 前言2 前期准备3 微信开发者工具3.1 创建项目3.2 页面介绍 4 读懂Pages4.1 index.wxss4.2 index.wxml4.3 index.json4.4 index.js 5 logs6 小程序的主要文件6.1 app.js6.2 app.json 7 讨论 1 前言 鉴于前段时间出的第一篇记录安装Nodejs和HBuilderX搭建、部署微信小…

【C++】内存分区模型

目录 1、缘起 2、内存分区模型 2.1、程序运行前 2.2、程序运行后 3、总结 1、缘起 前几天学习完了 C 的 基础语法 知识点&#xff0c;现在终于要踏上学习 C 核心编程 的旅程了&#xff0c;期待沿途中所遇到的风景。 2、内存分区模型 C 程序在执行时&#xff0c;将内存大…

【Python Cookie 和代理 IP】零基础也能轻松掌握的学习路线与参考资料

一、Python Cookie 1、什么是Cookie&#xff1f; Cookie是一种在客户端保存数据的机制&#xff0c;服务器通过在HTTP响应头中添加Set-Cookie头实现。浏览器在接收到响应头中的Set-Cookie后&#xff0c;会将这个Cookie保存在本地。之后每次请求都会将本地保存的Cookie自动添加…

WPF插件之 - PropertyChanged.Fody插件的使用详解

总目录 文章目录 总目录一、PropertyChanged.Fody是什么&#xff1f;二、PropertyChanged.Fody的安装三、PropertyChanged.Fody的功能1. 特性1 实现属性通知的功能2 通知其他属性4 不进行属性通知3 指定属性更改时将调用的方法5 设置当前属性依赖的属性6 不检查是否相等7 DoNot…

lua:浅谈对元表和元方法的认识

前言 本篇在讲什么 浅谈对Lua元表和元方法的理解 本篇适合什么 适合初学Lua的小白 本篇需要什么 对Lua语法有简单认知 依赖Lua5.1的环境 依赖Sublime Text3编辑器 本篇的特色 具有全流程的图文教学 重实践&#xff0c;轻理论&#xff0c;快速上手 提供全流程的源码…

ETCD实现分布式锁

分布式锁具备特点 互斥性&#xff1a;在同一时刻&#xff0c;只有一个客户端能持有锁 安全性&#xff1a;避免死锁&#xff0c;如果某个客户端获得锁之后处理时间超过最大约定时间&#xff0c;或者持锁期间发生了故障导致无法主动释放锁&#xff0c;其持有的锁也能够被其他机制…