赞
踩
目录
目录
jmeter安装目录介绍
bin目录:存放可执行文件和配置文件
界面汉化
1、找到JMeter安装目录下的bin文件
2、打开jmeter.properties文件,把第37行修改为“language=zh_CN”
3、重启 JMeter
主题修改
点击测试计划--右键添加线程组,选中线程组,右键点击,可以查看到线程组的元件和组件
取样器:向服务器发送请求
逻辑控制器:控制语句的执行顺序(if else)
前置处理器:对发送的请求预处理
后置处理器:对于收到的服务器请求结果进行处理
断言:将收到的响应结果与预期结果对比
定时器:设置等待
测试片段:封装一段代码,供其他测试脚本调用
配置元件:测试数据的初始化配置
监听器:查看jmeter脚本的运行结果
作用域
元件的作用域:是靠测试计划的树形结构中元件的父子关系来确定的
配置元件:影响其作用范围内的所有元件
前置处理器:在其作用范围内的每一个sampler(取样器)元件之前执行
定时器:在其作用范围内的每一个sampler(取样器)有效
取样器:与其他元件产生交互没有作用域
逻辑控制器:各种控制器,如if、foreach等控制器。其本身只对其子节点的sampler(取样器)有效
后置处理器:在其作用范围内的每一个sampler(取样器)元件之后执行
断言:在其作用范围内的对每一个sampler(取样器)元件执行后的结果进行校验
监听器:在其作用范围内对每一个sampler(取样器)元件的信息收集并呈现
提示:所有的组件都是以取样器为核心来运行的,组件添加的位置不同,生效的取样器也不同
Jmeter元件作用域的原则?
取样器:核心,不和其他元件相互作用,没有作用域
逻辑控制器:只对其子节点中的取样器和逻辑控制器起作用
其他元件:
如果是某个取样器的子节点,则该元件只对其父节点起作用
如果其父节点不是取样器,则其作用域是该元件父节点下的其他所有后代节点(包括子节点、子节点的子节点等)
元件执行顺序
配置元件->前置处理器->定时器->取样器->后置处理程序->断言->监听器
1、前置处理器、后置处理器、断言等元件功能只对取样器起作用,如如果在他们的作用域没有任何取样器,则不会被执行
2、如果在同一作用域范围内,有多个同一类型的元件,则这些元件按照他们在测试计划中的上下顺序依次执行
需求:使用Jmeter访问百度首页接口,并查看请求和响应信息
步骤:
启动Jmeter
在‘测试计划’下添加线程组
在线程组下添加‘HTTP请求‘取样器
填写’HTTP请求‘的相关请求数据
在’线程组‘下添加’察看结果树‘监听器
点击’启动‘按钮运行,并查看结果
作用:线程组就是控制Jmeter用于执行测试的一组用户
位置:右键点击’测试计划‘---》添加---》线程(用户)--->线程组
特点:
模拟多人操作
线程组可以添加多个,多个线程组可以并行或者串行
取样器(请求)和逻辑控制器必须依赖线程组才能使用
线程组:
常用的普通的线程组,可以看做一个虚拟用户组,线程组中的每一个线程都可以理解为一个虚拟用户
setUp线程组:
可用于预测试操作
tearDown线程组
可用于执行测试后工作
举例:如下设置三个普通线程组,一个setUp线程组,一个tearDown线程组,测试执行首先执行setUp线程组,普通线程组并行执行,最后执行tearDown线程组
点击测试计划--勾选独立运行每个线程组,测试执行首先执行setUp线程组,普通线程组按照请求顺序执行显示百度-淘宝然后京东,最后执行tearDown线程组
练习:
模拟10个用户并行执行:
模拟10个用户5s内启动完成
模拟2个用户各循环3次
模拟2个用户运行30s
模拟2个用户等待10s后开始执行
案例分析:
使用1个线程组,添加HTTP请求(百度)
配置线程数为2,循环次数为3,运行观察结果
配置线程数为3,循环次数为2,运行观察结果,对比是否有不同
相同点:从请求数量来说,是完全相同的
不同点:场景不同
线程数:代表用户数,即性能测试的负载量(线程数2要比线程数3对应的负载量小)
循环次数:代表时间,即性能测试时运行的时间(循环次数3比循环次数2对应的时间长)
作用:向服务器发送http及https请求
位置:选择线程组--》右键--》添加--》取样器---》HTTP请求
练习:编写Jmeter脚本,访问百度
案例一:GET请求 URL为 http://www.baidu.com/S?wd=test
方式一:通过url传参
方式二:通过参数列表传递
案例二:POST请求 URL为 http://www.baidu.com/S 请求体为:wd=test(form表单)
方式一:通过参数传递
方式二:通过消息体数据传
案例三 post请求,请求参数为json格式
信息头管理设置请求头
选中取样器(HTTP请求)--》选中添加--》配置元件--》HTTP信息头管理器
http://www.fanyunedu.com:5000/general/api/upload为例
文件上传接口 | POST | /general/api/upload | 上传形式为form-data,key为file并选择要上传的文件即可 | 限制可上传文件形式:'txt', 'png', 'jpg', 'xls', 'JPG', 'PNG', 'xlsx', 'gif', 'GIF' |
文件名称那里输入上传文件的路径和文件名,在参数名称上面写file
(1)勾选对POST使用multipart/from-data (2)MIME文件类型写上multipart/from-data
察看结果树--察看响应结果是success
Request URL: http://192.168.47.15:8080/woniusales/goods/upload
Request Method:POST
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryFQ2XAWjfugy14e7B
请求参数
batchname: GB20230408
batchfile: (binary)
因为post的请求头是multipart/form-data,所以batchname写在参数里面
文件上传参数写在文件上传上面
在JMeter的安装目录-bin目录下找到jmeter.properties
在1062行修改sampleresult.default.encoding=UTF-8
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。