JMeter使用教程(一)
Apache JMeter是Apache组织开发的一款开源软件,是典型的纯Java开发的应用程序,可以在不同平台比如Windows、Linux或macOS系统上进行软件测试。JMeter主要用于应用程序的功能负载测试以度量软件的性能,也可以用于其他类型的测试比如接口测试,API测试等。
01测试计划
一个测试计划用来定义这次要测试的内容。
保存后的测试计划是一个.jmx文件。
可以导入已有的测试计划jmx文件;
可以在测试计划中添加其他各个组件,完成测试;
1.1配置
独立运行每个线程组:勾选后,独立运行每个线程组,确保线程组1的执行一定在线程组2之前;不勾选,运行时测试计划下所有线程组同时执行;
主线程结束后运行tearDown:默认是从上到下执行;交替控制器、随机控制器、随机顺序控制器和循环控制器等可以改变取样器的执行顺序;
函数测试模式:如果选中此项,监听组件如“查看结果树”配置了保存到一个文件中,那么jmeter会将每次请求结果保存到文件中,不建议勾选;
添加目录或jar包到ClassPath:可以引入测试项目特有的jar等。
1.2操作
运行、清除
[启动]:执行测试计划下所有启用状态的节点。
[清除]:清除运行结果。
02线程组
【添加线程组】测试计划->添加->线程->线程组
线程组:模拟一定数量的并发用户发送请求,在线程组下配置用户要进行的操作(如添加http请求)
虽然有三个添加线程组的选项,名字不一样, 创建之后,其界面是完全一样的。
1) setup 线程组
可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行。
2) teardown 线程组
可用于执行测试后动作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试结束后执行定期的线程组。
3) 线程组
这个就常用添加运行的线程。可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。
配置信息
[线程属性]:相当于要模拟的虚拟用户数,以及启动线程的时间,循环的次数。
[线程数]:虚拟用户数。
[Ramp-Up 时间]:多长时间启动全部线程,单位秒。如配置为1,即表示在1秒结束前启动完所有线程。每个线程启动的延迟时间=线程数,如线程数是1,即表示每隔1秒启动1个线程。如果要模拟测试绝对并发,可以把Ramp-Up 时间配置为0。
[循环次数]:即每个线程发送请求的次数。勾选永远,即一直执行,直到强制停止。
[在取样器错误后要执行的动作]:默认选择继续、启动下一个进程循环、停止线程、停止测试、立刻停止测试。
[调度器]:勾选后可以配置线程组持续时间、启动延迟。
03取样器
取样器:模拟各种请求,如http请求等。
【添加取样器】线程组->添加->取样器
目前最常用的是HTTP请求
04断言
可以添加断言配置测试的期望值,执行时jmeter会判断请求响应的结果是否与期望值一致。
【添加断言】测试计划/线程组/请求->添加->断言(有多种断言方式)
断言中有很多类型,我们常用的是响应断言
4.1响应断言
响应断言编辑页面,可选择断言应用范围和要测试的响应字段,匹配规则等。
(1)Apply to(应用范围 ): Main sample and sub-samples,Main sample only , Sub-samples only ,Jmeter Variable 一共4种。
大多数勾选“,Main sample only” 就足够了,因为一个请求,实质上只有一个请求。
(2)响应字段:响应文本,响应代码,响应信息,响应头,请求头,URL样本,文档(文本),请求数据一共8种
响应文本: 服务器响应文本,一般普通http响应,通常勾选这个
响应代码:http响应代码,
例如:101,102,404,505等
响应信息:http响应代码对应的响应信息
例如:OK, FoundHTTP/1.1 200 OkHTTP/1.1 302 Found
响应头:响应头信息
例如: Cache-Control:privateConnection:Keep-AliveContent-Encoding:gzipContent-Length:84 Content-Type:text/html;charset=utf-8Date:Sun, 27 Jul 2021 08:08:03 GMTExpires:Sun, 27 Jul 2021 08:08:03 GMTServer:BWS/1.0Vary:Accept-Encoding
请求头:请求头信息
例如: Accept:text/plain, */*; q=0.01Accept-Encoding:gzip, deflate, sdchAccept-Language:zh-CN,zh;q=0.8Connection:keep-aliveCookie:XXXHost:www.baidu.comReferer:https://www.baidu.com/X-Requested-With:XMLHttpRequest
(3)模式匹配规则:包括、匹配、相等、字符串、否、或者
包括:返回结果包括指定的内容,支持正则匹配
例如:响应字段为:响应文本模式匹配规则:匹配断言为:1、success 2、[a-z]+当返回值为:{"msg":"login success."} , 这两个断言都是ok的,返回true
匹配:
(1) 相当于 equals 。当返回值固定时,可以返回值做断言,效果和equals相同
(2) 正则匹配 。用正则表达式匹配返回结果,但必须全部匹配。即正则表达式 必须能匹配整个返回值,而不是返回值的一部分。
例如:响应字段为:响应文本模式匹配规则:匹配断言为:1、{"msg":"login success."},2、\{"msg":"[a-z]+ success\."\} ,3、[a-z]+当返回值为:{"msg":"login success."} ,断言1 2 是ok的, 断言3是false,原因是,断言1 只能用于equals,而断言3 只匹配了返回值部分,而不是全部匹配。
相等 : 返回结果与指定断言完全一致
字符串:与 “包括”差不多,都是指返回结果包括你指定的内容,但是subString不支持正则字符串
例如:响应字段为:响应文本模式匹配规则:匹配断言为:1、success 2、[a-z]+当返回值为:{"msg":"login success."} , 断言1返回true, 但断言2返回false
否:就相当于取反。如果上面断言结果为true,勾选“否”后,最终断言结果为false。如果上面断言结果为false,勾选“否”后,则最终断言结果为 true
JMeter使用教程(一)相关推荐
- 压力测试-Jmeter自动化测试教程
目录 Jmeter目录 1.Jmeter的安装与部署 1.1 环境要求 1.2 安装Jmeter 1.3 配置Jmeter环境变量 1.4 Jmeter的使用 手写自动化测试脚本(不建议用) 通过录制 ...
- 【教程分享】Jmeter入门教程
好!回归学长每周的教程分享! PART2 >今天又来分享Jmter 因为最近好像有相关工作内容 提前准备资修一下 分享仅供参考- JMeter的作用对软件做压力测试 1.能够对HTTP和FTP服 ...
- Windows10安装Jmeter(图文教程)
Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试静态和动态资源,例如静态文 ...
- jmeter菜鸟教程(jmeter安装教程)
哪里有单反的教程菜鸟入门级 建议还是不要看视频学习摄影,这个还是实际操作比较好 今天安装了Jmeter,如何测试Jmeter是否安装成功呢?? linux环境还是windows环境?如果是linux环 ...
- JMeter入门教程(自己做测试了)
本文版权归xmeter.net所有.欢迎转载,转载请注明出处. 简介 本文由xmeter君写给想了解性能测试和JMeter的小白,适合对这两者了解很少的同学们,如果已经有使用经验的请绕道,别浪费时间: ...
- Jmeter 新手教程
官网: https://jmeter.apache.org/download_jmeter.cgi Jemeter安装 安装jemeter之前,需要先安装JDK. 下载完毕,直接解压缩即可. Wind ...
- jmeter安装 java,Windows下安装jmeter图文教程
JMeter是Apache软件基金会的产品,用于对静态的和动态的资源(文件,Servlet,Perl脚本,Java 对象,数据库和查询,FTP服务器等等)的性能进行测试.是一款很方便的测试软件. 系统 ...
- Jmeter入门教程之配置原件(二)
常用的配置原件 1.HTTP请求默认值 配置我们需要进行测试的程序协议.地址,端口号 当所有的接口测试的访问域名和端口都一样时,可以使用该元件,一旦服务器地址变更,只需要修改请求默认值即可 2.HTT ...
- 一款适合小白的jmeter入门文档,性能测试工具-jmeter使用教程
文章目录 jmeter介绍 jmeter安装及环境配置 录制jmeter脚本 jmeter工具使用 JMeter梯度加压之jp@gc - Stepping Thread Group JMeter监控工 ...
- JMeter入门教程详解
简介 这边文章是一菲专门写给想了解性能测试和JMeter的小白,适合对这两者了解很少的朋友们,如果已经有使用经验的请绕道,别浪费时间. 下面我们将介绍JMeter的使用场景,如何安装.运行JMeter ...
最新文章
- Springboot集成netty实例
- mysql 去重求总数_Mysql获取去重后的总数
- jquery实现回车键触发事件
- linux常用命令 打开文件,【Linux】常用命令 lsof查看打开的文件
- Ubuntu 16.04 使用useradd添加用户后没有家目录的解决方法
- python爬虫 selenium模块的学习
- python求解分支定界(branch-and-bound)问题使用pybnb基本架构
- python linux 命令_Python Linux 命令行 sudo
- Stanford CoreNLP服务器
- 怎样用自己电脑搭建网络服务器!不花一分钱
- 程序员的那些事儿 -- 高级程序员买衣服
- soul显示服务器异常,soul账号状态异常是什么意思?soul账号异常操作多久解封
- oracle 12c创建归档,oracle 12c 数据归档 即Using In-Database Archiving feature
- 一级计算机字处理步骤,计算机一级B文字处理操作步骤
- sort按vector元素排序
- 如何解决Mac电脑浏览器网页自动放大的问题?
- 全志Tina Linux 系统裁剪 boot0裁剪 uboot裁剪 内核裁剪 文件系统裁剪 C库裁剪 文件系统压缩
- “微信之父”张小龙:我没去过龙泉寺!
- linux性能监控工具Netdata安装和卸载教程
- sex 无需下载_elipse FTP插件 - Sexftp 支持FTP上传、下载、比较等功能