如何使用jmeter进行接口测试?jmeter接口测试流程是怎样的

前言

我们学习自动化测试都会用到不同的工具,那么今天笔者呢,想给大家聊聊Jmeter接口测试流程详解,废话不多说直接进入正题。

一、jmeter简介

Jmeter是由Apache公司开发的java开源项目,所以想要使用它必须基于java环境才可以;

Jmeter采用多线程,允许通过多个线程并发取样或通过独立的线程对不同的功能同时取样。

二、jmeter安装

首先需要安装jdk(最好是最新版的);

其次去官网下载最新的jmeter版本;

然后配置jmeter的环境变量;

最后双击jmeter.bat或者在“命令提示符”输入jmeter,运行jmeter。

具体安装步骤请自行网上查看

三、设置jmeter的中文界面

进入jmeter的bin目录,找到“jmeter.properties”文件,打开文件搜索“language”,将“#language=en”改为“language=zh_CN”,保存之后再打开jmeter就永久变为中文环境了。

四、jmeter主要元件

(1)测试计划:是使用 JMeter 进行测试的起点,它是其它 JMeter测试元件的容器

(2)线程组:代表一定数量的用户,它可以用来模拟用户并发发送请求。实际的请求内容在Sampler中定义,它被线程组包含。

(3)配置元件:维护Sampler需要的配置信息,并根据实际的需要修改请求的内容。

(4)前置处理器:负责在请求之前工作,常用来修改请求的设置

(5)定时器:负责定义请求之间的延迟间隔。

(6)取样器(Sampler):是性能测试中向服务器发送请求,记录响应信息、响应时间的最小单元,如:HTTP Request Sampler、FTP Request Sample、TCP Request Sample、JDBC Request Sampler等,每一种不同类型的sampler 可以根据设置的参数向服务器发出不同类型的请求。

(7)后置处理器:负责在请求之后工作,常用获取返回的值。

(8)断言:用来判断请求响应的结果是否如用户所期望的。

(9)监听器:负责收集测试结果,同时确定结果显示的方式。

(10)逻辑控制器:可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。

五、Jmeter元件的作用域和执行顺序

(1)元件作用域

  • 配置元件:影响其作用范围内的所有元件。
  • 前置处理器:在其作用范围内的每一个sampler元件之前执行。
  • 定时器:在其作用范围内的每一个sampler有效
  • 后置处理器:在其作用范围内的每一个sampler元件之后执行。
  • 断言:在其作用范围内的对每一个sampler元件执行后的结果进行校验。
  • 监听器:在其作用范围内对每一个sampler元件的信息收集并呈现。
  • 总结:从各个元件的层次结构判断每个元件的作用域。

(2)元件执行顺序:

  • 配置元件->前置处理器->定时器->取样器->后置处理程序->断言->监听器

六、jmeter接口测试流程步骤

(1)测试计划—打开Jmeter,在菜单左侧出现 “测试计划”
 

(2)线程组—鼠标单击“测试计划”

  • 线程数:即虚拟用户数。设置多少个线程数也就是设置多少虚拟用户数
  • Ramp-Up时间(秒):设置虚拟用户数全部启动的时长。如果线程数为20,准备时长为10秒,那么需要10秒钟启动20个线程。也就是平均每秒启动2个线程。
  • 循环次数:每个线程发送请求的个数。如果线程数为20,循环次数为10,那么每个线程发送10次请求。总请求数为20*10=200。如果勾选了“永远”, 那么所有线程会一直发送请求,直到手动点击工具栏上的停止按钮,或者设置的线程时间结束。

(3)HTTP请求—鼠标右键单击“线程组”

  • HTTP请求的名称:本属性用于标识一个取样器,建议使用一个有意义的名称。
  • 注释:对于测试没有任何作用,仅用户记录用户可读的注释信息。
  • 服务器名称或IP :HTTP请求发送的目标服务器名称或IP地址。
  • 端口号:目标服务器的端口号,默认值是80。
  • 协议:向目标服务器发送HTTP请求时的协议,可以是HTTP或者是HTTPS ,默认值为http 。
  • 方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、TRACE、OPTIONS、DELETE等。
  • 路径:目标URL路径(不包括服务器地址和端口)
  • 内容编码:内容的编码方式,常用UTF-8。
  • 自动重定向:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter 自动重定向到新的页面。
  • 对Post使用multipart/from-data:当发送POST 请求时,使用multipart/from-data方法发送,默认不选中。
  • 同请求一起发送参数 : 在请求中发送URL参数,对于带参数的URL ,jmeter提供了一个简单的对参数化的方法。用户可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对(对应RUL中的 名称1=值1)。

(4)添加断言—响应断言 

(5)添加监听器—察看结果树、聚合报告

总结

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

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

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

相关文章

Git分支管理

​ 分支理解 几乎每一种版本控制系统都以某种形式支持分支,一个分支代表一条独立的开发线。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。 ​​​​ 在版本回退⾥可以知道,每次提交,Git都把它们…

初识C++:从零开始掌握神秘之门的钥匙

🌱博客主页:青竹雾色间. 😘博客制作不易欢迎各位👍点赞⭐收藏➕关注 ✨人生如寄,多忧何为 ✨ 目录 一、什么是C? 二、 C的发展史 三、C的重要性 3.1 语言的使用广泛度 3.2 在工作领域 3.2.1. 操作系…

苹果Vision Pro手势+眼球融合交互的奥秘

毫无疑问,Vision Pro在眼球追踪手势的融合交互体验上,给AR/VR头戴设备带来了新突破,在用户体验上的提升非常明显。 ​那么,为什么Vision Pro上这一功能会被如此值得关注呢?为了弄清楚,我们先来看看主流VR设…

Redis进阶 - Redis哨兵

原文首更地址,阅读效果更佳! Redis进阶 - Redis哨兵 | CoderMast编程桅杆https://www.codermast.com/database/redis/redis-advance-sentinel.html 思考 slave 节点宕机恢复以后可以找 master 节点同步数据,那么 master 节点宕机怎么办&am…

OpenCV 入门教程:膨胀和腐蚀操作

OpenCV 入门教程:膨胀和腐蚀操作 导语一、膨胀操作二、腐蚀操作三、示例应用3.1 图像增强3.2 边缘检测 总结 导语 膨胀和腐蚀是图像处理中常用的形态学操作,用于改变图像的形状和结构。在 OpenCV 中,膨胀和腐蚀是基于结构元素的像素操作&…

C语言陷阱——无符号数和有符号数的大小比较

C语言易错知识点——无符号数和有符号数的大小比较 我们来看两串代码 代码一&#xff1a; #include<stdio.h>int main() {int a -1;if (a > sizeof(int)){printf(">\n");}else{printf("<\n");}return 0; }代码二&#xff1a; #include…

分布式ELK日志文件分析系统(曾经沧海难为水,除却巫山不是云)

文章目录 一、ELK 概述1. 为什么要使用 ELK2. 完整日志系统基本特征3. ELK 简介3.1 ElasticSearch&#xff08;ES&#xff09;3.2 Kiabana3.3 Logstash3.4 其它组件Filebeat缓存/消息队列Fluentd 4. ELK 的工作原理5. Linux 系统内核日志消息的优先级别 二、 部署 ELK 集群服务…

CISCN 2023 华中分区赛 awd pwn——tsh

不得不说&#xff0c;这道题出的很有水平&#xff0c;但作者水平有限&#xff0c;加上前两个小时一直在费劲逆向&#xff0c;导致最终exp就差一步。 本题源程序、libc、i64文件已上传至github。 文章目录 1. 逆向分析2. 漏洞分析——格式化字符串3. 漏洞利用——格式化字符串4…

SpringBoot 如何使用 @ControllerAdvice 注解进行全局异常处理

在 Spring Boot 应用中&#xff0c;异常处理是非常重要的一部分&#xff0c;它可以帮助我们捕获并处理应用程序中出现的异常情况&#xff0c;提高应用程序的健壮性和可靠性。在 Spring Boot 中&#xff0c;我们可以使用 ControllerAdvice 注解来实现全局异常处理。本文将介绍 C…

数据库作业2

1.显示所有职工的基本信息。 2.查询所有职工所属部门的部门号&#xff0c;不显示重复的部门号。 3.求出所有职工的人数。 4.列出最高工资和最低工资。 5.列出职工的平均工资和总工资。 6.创建一个只有职工号&#xff0c;姓名和参加工作的新表&#xff0c;名为工作日期表。 7.显…

使用Electron来给若依系统打包成exe程序,出现登录成功但是不跳转页面(已解决)

阿丹&#xff1a; 之前解决了css找不到文件等问题&#xff0c;那么新问题就来了&#xff01; 问题描述&#xff1a; 进入到登录页面发现问题&#xff1a; 点击登录一直在转圈&#xff0c;但是不进去&#xff01;&#xff01;&#xff01; 更诡异的是&#xff01;后台相应的很…

数据集 VOC转YOLO格式

一、xml转换为txt import os.path import xml.etree.ElementTree as ET import os import random # class_names [palm, stone, scissor, awesome, heartB, OK, ROCK, one, swear, thanks, heartA, # heartC, good, bad, pray, call, take_picture, salute] c…