性能测试学习笔记(20201110)

======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

  1. bin文件夹中有多个*.properties,都是jmeter的配置文件
  2. jmeter.properties,最重要的配置文件
  3. 后续课程中,说到配置文件的修改,没有特别说明,那就是这个配置文件。
  4. 如果将来,工作中出现***keystore***关键词的报错,说明没有ssl证书,需要去生成证书,手动生成,点击create-rmi-keystore.bat
  5. jmeter.log  ==jmeter启动运行时的日志。如果出现jmeter闪退,或无法启动时,来看这个文件
  6. 闪退:课程中,不需要去配置jmeter环境变量。如果配置了jmeter环境变量,很可能出现启动jmeter闪退,发现jmeter环境变量和你当前的jmeter路径不一致,导致:闪退;一台电脑有且有一个jmeter
  7. 不配置jmeter环境变量:
    1、一台电脑上允许运行n多个jmeter ===实际上不可能无限
    2、一台电脑上,运行允许n个不同jmeter版本
    缺点:imeter-sever的时,会有一个警告信息
  8. bin:放启动文件、配置文件、默认情况下jmeter的保存文件也放在这里
  9. docs====源码的api文件---想对jmeter进行二次开发
  10. extras====CICD
  11. lib =====jmeter本身的jar包
    lib\ext=====第三方插件存放地方
    如果你自己对jmeter做二次开发,生产的jar,放? ==lib 
  12. 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

 

猜你喜欢

转载自blog.csdn.net/mbrs_311723/article/details/109817852