首页 > 其他分享 >jmeter使用教程

jmeter使用教程

时间:2023-12-29 12:11:48浏览次数:30  
标签:教程 执行 接口 取样器 测试 使用 线程 jmeter

一、下载安装jmeter

参考:jmeter下载安装

二、线程组

image

image

  1. 第一部分
    在取样器错误后要执行的动作
    取样器就相当于是postman发送请求接口,当接口请求失败时,要执行的动作:
  • 继续:继续执行接下来的操作
  • 启动下一进程循环:忽略错误,执行下一个循环
  • 停止线程:退出当前线程,不再执行此线程的任务操作
  • 停止测试:等待当前执行的采样器结束,接着结束整个测试
  • 立即停止测试:直接停止整个测试
  1. 第二部分
  • 线程数:即模拟用户数量
  • Ramp-Up时间(秒):达到指定线程数所需要的时间。比如线程数为100,此处为5秒,100/5=20,那么相当于每秒启动20个线程,用时5秒达到100
  • 循环次数:要循环的次数,如果勾选“永远”,会一直循环下去
  • Same user on each iteration:表示每个迭代都用相同的线程。比如线程数为1,循环次数为5,那么创建好1个线程后,每次循环迭代都用这个线程,直到测试结束。如果不勾选,那么每次循环会销毁之前的线程,再创建1个新的线程,测试结束总共会经过5次创建销毁线程,浪费了计算机资源,线程多了甚至可能会影响性能测试结果,所以默认是勾选的。再比如这1个线程中有登录操作,加入cookie后,这个线程5次迭代下来用的都是这一个cookie
  1. 第三部分
  • 延迟创建线程直到需要:勾选,当线程需要执行的时候才会被创建,如果不勾选,在计划开始的时候,所有的线程就都创建好了
  • 调度器
    持续时间(秒),表示多少秒后,结束测试
    启动延迟(秒):表示点击开始执行计划后,延迟多少秒,才真正开始执行

三、线程组添加组件介绍

image

  • 取样器
    发送接口请求,类似于代码中requests封装的请求接口方法。
  • 逻辑控制器
    控制语句的执行顺序。
  • 前置处理器
    在取样器发送接口请求之前,需要执行的操作,比如删除数据,恢复数据,生成数据等。
  • 后置处理器
    在取样器发送接口请求之后,需要执行的操作,比如恢复数据,或处理响应数据,提取需要的值等。
  • 断言
    判断是否返回了预期的结果。
  • 定时器
    一般用来延时发送接口请求,类似于代码中的强制等待sleep。
  • 测试片段
    相当于封装一段代码,供其他脚本使用。
  • 配置元件
    用于初始化变量,以便采样器使用。类似于自动化框架中的配置文件。
  • 监听器
    展示执行结果,打印日志信息等。

四、线程组组件的执行顺序与接口自动化对比

jmeter组件 接口自动化
配置元件 读取配置文件
前置处理器 setup等前置操作
取样器 发送接口请求
后置处理器 提取接口响应信息
断言 断言
监听器 控制台或日志查看

五、jmeter脚本录制

录制原理:浏览器本来是直接和web服务器建立连接的,jmeter录制时,是在浏览器和web服务器之间建立jmeter代理服务器,并生成本地CA证书,来欺骗浏览器,让浏览器将jmeter代理服务器认为是web服务器,从而发送请求。然后jmeter拦截并本地记录来自浏览器的请求,再发送给web浏览器,接收过程同理。

测试计划->添加->非测试元件->HTTP代理服务器
image

标签:教程,执行,接口,取样器,测试,使用,线程,jmeter
From: https://www.cnblogs.com/luoshuai7394/p/17930824.html

相关文章

  • linux环境docker安装使用nginx
    1、dockersearchnginx 命令来查看可用版本$dockersearchnginxNAMEDESCRIPTIONSTARSOFFICIALAUTOMATEDnginxOfficialbuildofNginx.3260[OK]......
  • 【随手记录】Apache-JMeter部署银河麒麟报错: jmeter module java.desktop does not "o
    操作系统:Linux0012.novalocal4.19.90-17.ky10.aarch64#1SMPSunJun2814:27:40CST2020aarch64aarch64aarch64GNU/LinuxJDK版本:java17.0.82023-07-18LTSJava(TM)SERuntimeEnvironment(build17.0.8+9-LTS-211)JavaHotSpot(TM)64-BitServerVM(build......
  • 21. 名词性从句-考点分析-写作中的使用
    名词性从句——一》名词充当的成分——名词,代词,非谓语动词,从句二》什么是名词性从句——三》名词性从句引导词——三类——that,weather,特殊疑问词四》名词性从句考点分析——写作名词性从句有4个从句——1同位语从句,2主语从句,3宾语从句,4表语从句写作2个满分句型——主......
  • 在Python中,如果你想查找特定的SQLite数据库文件(例如'mydatabase.db'),你可以使用os模块
    这是Python中os.walk()函数的常见用法¹²⁴⁵⁶。os.walk()函数用于递归遍历指定目录及其子目录,并返回一个生成器,每次迭代都会返回一个包含三个元素的元组:当前目录的路径、当前目录下所有子目录的列表和当前目录下所有文件的列表¹²⁴⁵⁶。在fordirpath,dirnames,filenamesi......
  • Ubuntu22.04上使用systemctl命令配置开机自启动服务、脚本、命令
    systemctl介绍systemctl是Linux系统上用于管理系统服务(systemd单元)的命令行工具。它可以用来启动、停止、重启、禁用、启用、查询和管理系统服务的状态。以下是一些常用的systemctl命令:systemctlstartservicename:启动一个服务。systemctlstopservicename:停止一个服务。s......
  • 社招面试题:说一说SPI是什么,有哪些使用场景?
    大家好,我是小米!今天在这里和大家分享一个在技术面试中常被问到的话题——SPI(ServiceProviderInterface),这是一个令人着迷的技术领域,也是很多Java开发者必须要熟悉的概念。不废话,让我们一起来揭开SPI的神秘面纱,看看它在实际开发中有哪些精彩的应用场景吧!SPI是什么?首先,我们来解释一......
  • 无涯教程-Java NIO - Pipe(管道)
    在Java中,NIOPipe(管道)是用于在两个线程之间写入和读取数据的组件。Pipe(管道) 主要由两个通道组成,负责数据传输,在两个组成通道中,一个称为接收器通道,主要用于写入数据,另一个称为源通道,其主要目的是从接收器通道读取数据。管道类函数open()   -此方法用于获取Pipe的......
  • 浅析RobotFramework工具的使用 | 京东物流技术团队
    1简介最近几年越来越多的公司都开始进行自动化测试的设计和布局了,自动化,顾名思义就是把以人为驱动的测试行为转化为机器执行的一种过程,并经常用于回归测试中,市面上也存在很多开源的自动化测试的工具和理论知识,今天我要说的是RobotFramework这个工具;我也是在偶然的机会中接触到......
  • 软件双开教程:一机双用的实现方法
    软件双开教程:一机双用的实现方法在日常生活中,我们经常会遇到需要同时使用两个相同软件的情况,比如同时登录两个微信账号、同时打开两个游戏账号等。然而,许多应用程序并不支持同时登录多个账号,这就需要我们寻找一种解决方案来实现“一机双用”。本文将介绍一些常见的实现方法,让您轻......
  • 在不使用内置函数和中间变量的情况交换数字LeetCode力扣题解面试题16.01
    #异或法#Kotlin```KotlinclassSolution{  funswapNumbers(numbers:IntArray):IntArray{    numbers[0]=numbers[0]xornumbers[1]    numbers[1]=numbers[1]xornumbers[0]    numbers[0]=numbers[0]xor......