JMeter介绍
Apache JMeter是Apache组织开发的基于Java的测试工具。
1、可以用于对服务器、网络或对象模拟巨大的负载
2、通过创建带有断言的脚本来验证程序是否能返回期望的结果
-
适用的测试领域:
- 用于对软件做压力测试
- 对应用程序做功能/回归测试
- 对静态和动态的资源(文件、Servlect、Perl脚本、java对象、数据库和查询、FTP服务器等等)的性能进行测试
- 接口测试
- 数据库压力测试
- 批量产生测试数据
优点:
1.开源、免费
2.跨平台
3.支持多协议
4.小巧
5.功能强大
缺点:
1.不支持IP欺骗
2.使用JMeter无法验证JS程序,也无法验证页面UI,所以要和Selenium配合来完成Web2.0应用的测试
注意:JMeter是按照线程的方式来运行的,JMeterGUI模式运行测试脚本对电脑本身的资源消耗较大,无法实现大的并发和压力测试。使用GUI模式主要目的是编写和调试JMeter测试脚本,编写完后使用命令行模式实现并发和压力测试。
JMeter测试计划要素:
- 测试计划
- 在测试计划中至少有一个线程组
- 在线程组中至少有一个取样器
- 在测试计划中必须要有监听器
JMeter的安装(必须安装Java环境)
①jmeter官网地址:http://jmeter.apache.org/download_jmeter.cgi
③下载完后解压(放在无中文路径下),找到bin目录下
设置语言
修改编码集
JMeter插件:https://jmeter-plugins.org/install/Install/
JMeter录制脚本:Badboy
Badboy下载网址:http://www.winwin7.com/soft/7021.html
Badboy使用教程:https://blog.csdn.net/qq_30007885/article/details/88186397
Badboy常见问题:https://blog.csdn.net/qq_42587023/article/details/108667083
常用目录文件介绍
1.bin目录
2.docs文件
3.extras目录
4.lib目录
5.licenses目录
JMeter证书目录
6.printable_docs目录
HTTP请求的方法:
DELETE请求:
请求服务器删除Request-URL所标识的资源
GET请求:
向特定的资源发出请求。注意:GET方法不应当被用于产生“副作用”的操作中,例如在Web Application中,其中一个原因是GET可能会被网络蜘蛛等随意访问。Loadrunner中对应get请求函数:web_link和web_url
PATCH请求:
POST请求:
向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 Loadrunner中对应POST请求函数:web_submit_data,web_submit_form
笔记来源:博客园-韦邦杠-HTTP请求方式中8种请求方法
文章链接:https://www.cnblogs.com/weibanggang/p/9454581.html
JMeter入门脚本:
1.创建测试计划
当打开JMeter时,默认有一个测试计划2.添加线程组
-
3.在线程组内添加http请求组件
右键点击“线程组” -> “添加” -> “Sampler” -> “HTTP请求”
-
4.配置http请求组件
- 填写协议:http
- 填写服务器或ip:www.baidu.com
-
5.添加察看结果树
右键点击“线程组” -> “添加” -> “监听器” -> “察看结果树”
6.运行测试计划
测试计划原件
1.测试计划
描述一个性能测试,包含本次测试所有相关功能
2.线程用户
线程组参数详解:
(1). 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。
(2). Ramp-Up Period(in seconds)准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,也就是每秒钟启动5个线程。
(3). 循环次数:每个线程发送请求的次数。如果线程数为10,循环次数为100,那么每个线程发送100次请求。总请求数为10*100=1000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
(4). Delay Thread creation until needed:直到需要时延迟线程的创建。
(5). 调度器:设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远)
持续时间(秒):测试持续时间,会覆盖结束时间
启动延迟(秒):测试延迟启动时间,会覆盖启动时间
启动时间:测试启动时间,启动延迟会覆盖它。当启动时间已过,手动只需测试时当前时间也会覆盖它。
结束时间:测试结束时间,持续时间会覆盖它。
3.取样器
Http请求主要参数详解:
1.Web服务器
协议:向目标服务器发送HTTP请求协议,可以是HTTP或HTTPS,默认为HTTP
服务器名称或IP :HTTP请求发送的目标服务器名称或IP
端口号:目标服务器的端口号,默认值为802.http请求
方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。
路径:目标URL路径(URL中去掉服务器地址、端口及参数后剩余部分)
Content encoding :编码方式,默认为ISO-8859-1编码,这里配置为utf-83.同请求一起发送参数
在请求中发送的URL参数,用户可以将URL中所有参数设置在本表中,表中每行为一个参数(对应URL中的 name=value),注意参数传入中文时需要勾选“编码”
4.逻辑控制器
5.配置元件
6.定时器
7.前置处理器
8.后置处理器
9.断言
10.监听器
项目简介
学生管理系统:对学生信息进行增删改查,对应的RESTful语法风格如下