======Jmeter环境配置======
Jmeter环境安装与配置
Apache下的开源免费
java开发—运行环境jre、jdk;跨平台
1、安装jdk1.8
2、下载免费的jmeter(大于3.2版本),解压
3、启动jmeter
bin jmeter.bat jmeter.sh
双击ApacheJmeter.jar 或 java -jar ApaceJmeter.jar
同一个系统中,可以启动多个jemter(相同版本、不同版本)不配置JMETER_HOME
- bin文件夹中有多个*.properties,都是jmeter的配置文件
- jmeter.properties,最重要的配置文件
- 后续课程中,说到配置文件的修改,没有特别说明,那就是这个配置文件。
- 如果将来,工作中出现***keystore***关键词的报错,说明没有ssl证书,需要去生成证书,手动生成,点击create-rmi-keystore.bat
- jmeter.log ==jmeter启动运行时的日志。如果出现jmeter闪退,或无法启动时,来看这个文件
- 闪退:课程中,不需要去配置jmeter环境变量。如果配置了jmeter环境变量,很可能出现启动jmeter闪退,发现jmeter环境变量和你当前的jmeter路径不一致,导致:闪退;一台电脑有且有一个jmeter
- 不配置jmeter环境变量:
1、一台电脑上允许运行n多个jmeter ===实际上不可能无限
2、一台电脑上,运行允许n个不同jmeter版本
缺点:imeter-sever的时,会有一个警告信息 - bin:放启动文件、配置文件、默认情况下jmeter的保存文件也放在这里
- docs====源码的api文件---想对jmeter进行二次开发
- extras====CICD
- lib =====jmeter本身的jar包
lib\ext=====第三方插件存放地方
如果你自己对jmeter做二次开发,生产的jar,放? ==lib - printable_docs ====jmeter的离线帮助文档 ====对应版本,不会更新 ====官方在线帮助文件,一直保持最新的一份
======JMETERT-GUI窗口======
GUI图形界面
CLI(non-gui)无图形界面====性能测试人员必须掌握
GUI==右键
测试计划 ======jmeter test plan ===工程的根目录名称
jmeter一个完整脚本,一般包括3个组成部分:
1、线程组:进行性能场景设计的
2、取样器:干活的,接口请求,根据不同的协议,选择用不同的取样器
3、监听器:展示请求的响应信息工
结果树,展示请求的response的元件|
所有元件中,配置元件下面的所有的元件,都是优先级最高的
一般数据库都是server+db
tomcat默认端口:8080、 HTTP默认端口:8080 、HTTPs默认端口:443、 ftp默认端口:21、 sftp默认端口:22、ssh默认端口:22
mysql默认端口:3306
如果repuest body 为json格式,一定要添加消息头管理器,一定要写content-Type : application/json
======Jmeter写脚本=======
Jmeter手写脚本
Jmeter手写脚本--Http取样器
- protocol协议:空、http、https
- Server Name or IP:服务器域名或ip,一定不能有:/
- PortNumber端口号:空\80
- Method方法: http请求的方法,具体看接口文档
- Path路径: url地址,前面已经写了协议、域名lip等信息,这个就不要再写domain信息
- content encoding内容编码:空、utf-8(—般情况)
- 只针对request body有效,对responsebody无效
- 1、取样器中的内容编码:utf-8
- 2、参数中,勾选编码
- 3、消息头:里面添加的charset=UTF-8
response-body编码:
打开jmeter.pr*** seckey:encoding---1084
sampleresult.default.encoding=ISO-8859-1
修改这个编码:具体情况,具体看,gbk\utd-8\gb2312
RedirectAutomatically自动重定向vs Follow Redirects跟随重定向
自动重定向:只针对GET、Head请求;可以自动跳转到最终页面,但是jmeter不录重定向过程,查看结果树中无法找到重定向过程内容,无法做关联
跟随重定向:默认选中;响应代码3XX时,自动跳转,jmeter会记录重定向过程,查看结果树中可以看到过程内容,可以做关联
Use keepAlive使用keepAlive
- HTTP 1.1版本,默认长连接
- 请求头:Connection: keep-alive
如果请求的格式为:json、xml时,request-body写在【消息体】中;除了这两种,以及上传文件,request-body写在【参数】中
参数:值,不需要加引号
勾选 编码 urlencode 防止乱码
值为:中文或特殊符号,如=时,一定要勾选 编码密码串
所以,不管什么情况,都建议勾选编码
Http Header Manager消息头管理器
- 线程组右键->配置元件-> HTTP消息头管理器
- 作用域
- 请求头
- 1、Content-Type:application/x-www-form-urlencoded;charset=utf-8默认格式,form表单(jmeter中,当没有配置消息头,或消息头中没有配置Content-Type时,默认content-type : application/x-www-form-urlencoded)
- 2、application/json json\xml数据
- multipartfo/rm-data表单中进行文件上传时使用
- User-Agent 模拟浏览器
其他项目:有注册、登录,登录后的接口,提示:请先登录
当你的脚本中有登录接口时,一定要先加上cookie管理器,什么都不配置,cookie管理器来保存用户的登录信息
View Result Tree查看结果树
线程组右键->监听器->查看结果树
作用域
所有数据写入一个文件
- 文件名、仅错误日志、配置
结果展示类型
data
- 取样器结果
- 请求:RequestBody、request headers
- 响应信息:ResponseBody、Responseheaders