Jmeter使用教学

设置中文编码集

Jmeter默认是不支持中文的,如果出现中文会出现乱码

可进入到Jmeter的安装目录/bin下,修改jmeter.properties文件

在这里插入图片描述
找到注释的这段代码

#sampleresult.default.encoding=ISO-8859-1

向下复制一行,打开注释,修改值为utf-8
在这里插入图片描述
重新打开Jmeter,即可生效

顺序执行和并发执行

在这里插入图片描述
勾上是顺序执行,否则是并发执行

优先和最后执行线程组

在这里插入图片描述
setUp是优先执行线程组,tearDown是最后执行线程组

与是否勾上顺序执行和并发执行没关系

Http请求默认值

配置统一请求选项,避免重复操作
在这里插入图片描述
在里面配好统一的配置
在这里插入图片描述
之后再构建新的请求时只需要填变化的部分
在这里插入图片描述

Http消息头管理器在这里插入图片描述

在发送post请求添加数据时,需要再请求头中添加一些内容,这些内容就填在这
在这里插入图片描述
其他的如授权头也一样

用户自定义的参数在这里插入图片描述

  • 定义数据
    在这里插入图片描述

  • 使用数据
    在这里插入图片描述
    在这里插入图片描述

    CSV批量添加参数

    • CSV

      逗号分隔值,是一种简洁且常见的数据存储格式

    • 创建方式

      使用记事本新建一个文件,使用逗号将数据分隔

    在这里插入图片描述

    另存为,另存的时候要设置字符集为utf-8

    在这里插入图片描述

    • 使用Jemter打开对应文件
      在这里插入图片描述
      在这里插入图片描述
      ​ 第三条是变量名配置,与文件里的对应,使用的时候写${变量名即可}

    • 使用一个post请求测试
      在这里插入图片描述
      在这里插入图片描述

需要注意的是,在线程组的配置中,将循环次数勾选上永远,这样csv中有多少条数据,就会执行多少次
在这里插入图片描述
在这里插入图片描述

添加用户参数

用户参数是用户手动添加的变量参数数据
在这里插入图片描述
在这里插入图片描述
修改线程组配置,有几条数据就创建几条线程

在这里插入图片描述

填入参数
在这里插入图片描述
测试结果
在这里插入图片描述

函数

打开函数助手

在这里插入图片描述

需要什么函数选择,配置,生成,复制,将复制的代码复制到需要使用的地方

比如用在名称上

在这里插入图片描述
在这里插入图片描述

比较常用的函数有:

count:计数器函数,可选是全局计数还是独立计数

random:随机数函数,可选最小值和最大值,是闭区间

time:时间戳函数,从1970开始计算的毫秒数,可配置时间格式

直连数据库

导入连接数据库所需jar包,可以去maven仓库里找,添加到下面

在这里插入图片描述
添加完成后,创建jdbc连接测试
在这里插入图片描述
添加jdbc连接配置,配置连接池和数据库信息
在这里插入图片描述
在这里插入图片描述
平时怎么配就怎么配,Variable Name是连接池的名字,随便取

配完信息后就在回到jdbc请求的中间区域里填需要测试的sql语句即可
在这里插入图片描述
测试结果
在这里插入图片描述

将数据库得到的结果设为变量使用

添加调试取样器
在这里插入图片描述
设置变量前缀,随便取
在这里插入图片描述
测试结果
在这里插入图片描述
可以看到获取到的结果前面都加上了自定义的前缀,相当于将查询到的结果绑定到前面的变量里

添加一个http请求测试,使用变量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

响应断言

添加响应断言

在这里插入图片描述

响应文本,也就是响应的信息,配置规则里有多种匹配方式

在这里插入图片描述

如下图可见,响应成功,但因为不符合我们设置的断言规则,所有报红

在这里插入图片描述

响应代码也就是响应码,例如200是响应成功,一样的使用

大小断言

在这里插入图片描述
就是判断响应内容大小的断言

具体大小可以看响应里
在这里插入图片描述

一样的设置参数即可

值得注意的是,这里填的数字标识的是byte字节数,不是具体的数字

持续时间断言

在这里插入图片描述

也就是判断响应的时间,单位是毫秒

if逻辑控制器

在这里插入图片描述

将需要就行if逻辑控制的请求拖到控制器下方
在这里插入图片描述

添加用户变量

在这里插入图片描述

配置if逻辑控制

在这里插入图片描述

记得把下面的勾去掉,判断的语法是某个变量==某个值

如果不相等就不会执行

比如当前==“aaa”,所以不会执行http请求

只有当"${name}"=="xiaohong "时才会执行

foreach逻辑控制器

该控制器会循环的使用自定义变量里的数据

添加foreach逻辑控制器和用户自定义变量
在这里插入图片描述
在这里插入图片描述

配置foreach逻辑控制器

在这里插入图片描述

第一个参数是自定义配置里的前缀,后面有个勾选,程序会自动添加’_’

第二个参数是开始下标,开区间

第三个参数是结束下标,闭区间

第四个参数是循环到的结果该辅组给什么变量,自定义名字

使用foreach逻辑控制器

在这里插入图片描述
在这里插入图片描述

循环逻辑控制器

如果直接在线程组里配置循环次数
在这里插入图片描述

请求1和请求2都会执行10遍
在这里插入图片描述

如果想实现请求1循环2次,请求2循环5次

就需要使用循环控制器

在这里插入图片描述

第一个循环控制器配2,第二个配置5即可

但记得要先把线程组里的循环次数改为1
在这里插入图片描述
在这里插入图片描述

xpath提取器

提取器的作用是从响应结果的中提取标签中的内容

添加xpath提取器

在这里插入图片描述

将提取器放到需要提取的请求下方

在这里插入图片描述

配置xpath提取器

在这里插入图片描述

勾上该选项才会取匹配标签查找

第一个参数是将提取到的结果赋值该什么变量,自定义变量名

第二个参数是xpath语法,这里的意思是匹配title标签里的值

第三个参数是获取第几个匹配到的值,-1表示所有,0代表随机,1代表第一个

第四个参数是如果没有找到填什么值

使用xpath,将xpath得到结果用于百度查询
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

正则提取器

添加正则提取器
在这里插入图片描述

配置正则提取器
在这里插入图片描述

第一个参数是提取结果存放变量

第二个参数是正则表达式

第三个是使用哪个正则模板,我们这里只有一个正则表达式,所以就只填 1 1 1,一般也就只是这个

第四个参数是获取匹配到的第几个值,-1所有,0随机,1第一个

第四个是没有匹配结果的时候的值

测试

略。。。。

跨线程池传值

创建两个线程池
在这里插入图片描述

给第一个线程池加一个xpath提取器,将提取到的结果存储到val中
在这里插入图片描述

要想在第二个线程池中拿到第一个线程池中提取的val,就需要将val存储到全局的变量中,同时,还需要设置线程是顺序执行的
在这里插入图片描述
设置全局变量
在这里插入图片描述
打开函数帮助窗口,选择设置setProperty函数,配置好需要设置的参数
在这里插入图片描述
将生成好的表达式复制进去
在这里插入图片描述
那如何取出定义的变量呢?
来到另一个线程池中
打开函数帮助面板
在这里插入图片描述
将生成的表达式粘贴到需要使用的地方
在这里插入图片描述

测试

在这里插入图片描述
成功获取到值

高并发测试

需求: 同一时刻100个请求去访问服务器,统计服务器的平均响应时间以及错误率

创建请求
在这里插入图片描述

创建100个线程,代表100条请求
在这里插入图片描述
创建同步定时器,设置每组100条请求,也就是每次100条并发
在这里插入图片描述
超时时间不要写0,不然当总请求数除不尽每组请求数时会一直等
在这里插入图片描述

添加聚合报告
在这里插入图片描述
测试
在这里插入图片描述

测试高频率

需求:一个用户以20QPS(1秒钟20次)访问服务器,持续15秒,统计服务器的平均响应时间

设置请求,添加聚合报告

添加常数吞吐量计数器
在这里插入图片描述
配置常数吞吐量定时器,这里的值是每分钟的,也就是20x60
在这里插入图片描述
配置线程数,按题目要求,也就是说一个线程(一个人)一共访问了300次(20x15)
在这里插入图片描述
测试结果(我这还没跑完)
在这里插入图片描述

分布式测试

多台机协作,以集群的方式完成测试任务,可以提过测试效率
环境搭建:

  1. 不同的测试机器上安卓Jmeter
  2. 配置基础环境,统一操作系统、JDK、Jmeter等
  3. 核心:控制机如何与执行机通信?关键点:端口号
  4. 控制机中设置执行机的IP

在控制机的Jmeter的安装目录/bin/jmeter.properties里
找到remote_hosts=执行机的IP:端口号,执行机B的IP:端口号…
5. 控制机和执行机都设置远程访问的相关属性
server.rmi.ssl.disable=true
6. 执行所有Jmeter的jmeter.bat
7. 点击控制机的运行,远程执行所有
在这里插入图片描述

弱压力测试练习

模拟半小时之内1000个用户访问服务器资源,要求平均响应时间在3000ms内,且错误率为0
在这里插入图片描述

生成图像化测试报告

将需要生成的的脚本文件放到Jmeter的bin目录下
在这里插入图片描述

在当前目录打开cmd
在这里插入图片描述
在这里插入图片描述
执行以下命令

jmeter -n -t 脚本文件 -l 日志文件 -e -o 输出目录
-n 无图形化运行,也就是命令行运行
-t 被运行的脚本
-l 将运行信息写入日志文件,如果写的文件不存在,会自动创建,如果存在,需要保证是个空文件
-e 生成测试报告
-o 指定报告的输出目录,如果写的目录不存在,会自动创建,如果存在,需要保证是个空目录

执行命令
在这里插入图片描述
找到输入的目录下
在这里插入图片描述
浏览器打开index.html即可看到图形化报告了
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值