IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Jmeter总结 -> 正文阅读

[开发测试]Jmeter总结

Jmeter 安装与使用

1.下载安装

官网下载地址:http://jmeter.apache.org/download_jmeter.cgi
从官网下载选择binary版本,下载后解压到方便使用的位置,路径名称尽量不要使用中文。
jmeter需要有java环境支持,不同版本对java版本要求不同,按照图片选择自己对应的java版本在这里插入图片描述

2.配置环境变量

计算机鼠标右键>属性>高级系统设置>高级>环境变量>系统变量
1.创建JMETER_HOME,值是Jmeter的解压文件路径
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

3.启动jmeter

进入解压目录的bin文件下,【windows环境】双击jmeter.bat,【Linux环境】双击jmeter.sh
【注】启动时不可以关闭小黑窗
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.2 语言设置在这里插入图片描述
这里偶尔会出现一个bug,重启jmeter后会重新展示英文,下面是解决方法。
我们可以使用Notepad++ 右键打开编辑jmeter.bat,当然这里使用其他软件或记事本也可以编辑。
我们在里面查找关键字为set JMETER_LANGUAGE=-Duser.language=“en” -Duser.region="EN"的内容 对其进行编辑。
搜索到的内容如下:

if not defined JMETER_LANGUAGE (
rem Set language
rem Default to en_EN
set JMETER_LANGUAGE=-Duser.language="en" -Duser.region="EN"
)

我们需要在他的头和尾分别加入goto remove_language_reset_bug_4.0和:remove_language_reset_bug_4.0
修改后的代码内容如下:

goto remove_language_reset_bug_4.0
if not defined JMETER_LANGUAGE (
rem Set language
rem Default to en_EN
set JMETER_LANGUAGE=-Duser.language="en" -Duser.region="EN"
)
:remove_language_reset_bug_4.0

这样修改后,我们再次重启jmeter就会显示为中文了,以后打开也不会恢复为英文。

4.插件下载

下载plugins-manager.jar,官方下载地址:https://jmeter-plugins.org/downloads/all/
完成后将jar包放在jmeter安装目录下的\lib\ext文件夹中,启动jmeter,plugins manager出现在选项下。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.Jmeter的使用

1.添加一个单接口测试
右键测试计划>添加>线程>线程组在这里插入图片描述

右键线程组>添加>取样器>HTTP请求在这里插入图片描述
我们拿百度当例子:
在这里插入图片描述
添加一个结果树,方便查看请求的发送数据和响应数据
在这里插入图片描述
点击运行,在结果树里可以看到请求数据和响应数据。在这里插入图片描述

6.压力测试

1.在测试计划下添加线程组在这里插入图片描述
在线程组下添加请求类型,使用HTTP请求为例
在这里插入图片描述

填写HTTP请求的各项数据,IP,方法,接口路径,端口号等,然后加上参数化,关联,断言等。在这里插入图片描述
需要配置设置多少并发,循环次数,以及持续时间,配置好后点击菜单栏绿色箭头启动运行。在这里插入图片描述

7.录制脚本

1,使用badboy软件,点击工具栏上面的红色圆形按钮,在地址栏目中输入被测试的地址,录制结束后,点击工具栏旁边黑色按钮,结束录制。在这里插入图片描述
选择文件>Export to Jmeter…导出在这里插入图片描述
然后打开jmeter工具,选择文件>打开刚刚导出的jmx类型文件,导入文件。在这里插入图片描述
2.打开jmeter文件,创建一个线程组>创建一个http代理服务器在这里插入图片描述
打开浏览器>设置一下浏览器的局域网设置

设置为本机IP就可以了,端口号需要与jmeter端口号一致,然后点击jmeter上面的启动按钮,打开浏览器输入需要录制的web项目地址,jmeter会自动记录你浏览器所访问的页面。

8.对数据库的压力测试

1.将要用到的数据库jar包放入jmeter中 拷贝到jmeter的lib目录中
2.配置jmeter
新建线程组>添加JDBC Connection Configuration>配置JDBC Connection Configuration>从取样器sampler中添加 JDBC Request>添加监听器 查看结果树、设置断言>运行测试,查看查询结果>设置集合点、线程数、循环控制器循环次数即可执行压测试

9.断言

1.响应断言

	适用于判断返回内容与预期结果的对比

在这里插入图片描述
例如,响应文本中含有“南京”,表示请求响应成功。

在“测试模式”中添加“南京”,点击“启动”图标,执行请求,查看结果树。可能到此有朋友感觉奇怪,怎么与未加断言时执行效果一致。

那再修改“响应断言”为“南京我爱你”,再次执行请求。
在这里插入图片描述在这里插入图片描述
这时请求结果为红色表时请求执行结果与预期设置不同,未包括“南京我爱你”字符,证明此条接口用例执行失败。
下面对“响应断言”内容进行详细介绍。

APPly to:

     Main sample and sub-samples:作用于主取样器及对应子取样器

     Main sample only:仅作用于主取样器

     Sub-samples only:仅作用于子取样器

     JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称)

测试字段:响应文本、响应代码、 响应信息、响应头部…

模式匹配规则: 包括、 匹配、Equals、字符串、否、或者

测试模式:可以添加/删除需要判断的内容,按钮“添加”、“删除”是进行指定内容的管理。

除响应断言外,还有其他断言。

2、大小断言

适用于:判断返回内容的大小。

步骤:在需要判断的“HTTP”请求接口上,右击“添加”\“断言”\“大小断言”。

APPly to:同“响应断言”

Response Size Field to Test(响应字段的测试范围):完整响应、响应头、响应的消息体、响应代码、响应信息。

Size to Assert:断言字节大小

响应字段可以通过察看结果树看到

根据返回响应消息体的大小设置断言值,一般什么大于多少字节,不采用=,因为数据是变化的,大多数会在一定范围内。例如本请求的“Body size in bytes: 1748”,在“大小断言”中设置如下:

3、断言持续时间

适用于:判断请求的响应时间

步骤:在需要判断的“HTTP”请求接口上,右击“添加”\“断言”\“断言持续时间”。

APPly to:同“响应断言”

持续时间(毫秒):设置期时间的时间,例如预计3秒响应,即设置为3000,如果响应时间在3秒回返回,则断言成功,否则失败!

10.参数化关联、正则提取器

1.jmeter的参数化

1.配置元件:用户定义的变量
针对接口请求里面都有的相同的变量,进行参数化引用,便于修改,引用方式${变量名};
用户定义的变量填写变量名和值;
在这里插入图片描述

接口请求里面引用变量,引用方式${变量名};
在这里插入图片描述
2.配置元件:CSV Data Set Config
如果要批量操作可以用CSV
先准备一个.TXT格式文档,或者excel记住保存为.CSV格式的,或者.dat格式的文件;
多个参数用逗号隔开;
在这里插入图片描述
添加CSV数据文件设置
文件名:设置文件路径;
文件编码:如有中文用utf-8;
变量名:设置被变量的名称,多个用逗号隔开;
忽略首行:如果你的数据是从第二行开始的,就需要忽略首行;
在这里插入图片描述
在线程组里面修改线程数,有多少组数据就修改为多少,设置多了会再次循环;
3.函数助手—random string函数进行参数化
将我们的手机号后8位进行随机生成;
在这里插入图片描述
字符串长度:设置为8;
选择范围:0123456789;
变量名:可填可不填
点击生成:得到随机字符串;
复制这个字符串
在这里插入图片描述
粘贴到我们手机号后面即可。
在这里插入图片描述

2.关联

关联概念:两个请求,上一个请求的响应结果,作为下一个请求的参数传入;
关联运用场景:下一个请求的参数值是变化的;
1.正则表达式(登录和充值的关联为token)
从登录的响应结果写一个正则表达式获取到token;
在这里插入图片描述
添加一个正则表达式提取器
要检查的响应字段:我们是从响应体里面获的token所以选择主体;
引用名称:设置获取的字段的变量名;
正则表达式:将我们的正则表达式填上;
模板:1 11表示引用组1,2 22表示引用组2,0 00表示引用所有,我们这里只获取了一组,用1 11即可;
匹配数字:-1代表全部,0表示随机,1表示第一个,2表示第二个
缺省值:如正则表达式没提取到则使用这个默认值,可不写;
在这里插入图片描述
添加一个调制后置处理程序,看下我们的正则表达式提取器是否提取到了token。
在这里插入图片描述
给我们的充值添加一个信息头管理器,将获取到的token填在里面Bearer ${token}
在这里插入图片描述
这个时候设置完毕,点击run,查看充值成功
在这里插入图片描述

11.固定定时器

Jmeter的线程组在发送2个请求之间需要设置一个等待时间时,可以用固定定时器解决。

配置方式,在第二个请求中添加>定时器>固定定时器。
在这里插入图片描述
配置定时器等待时间
在这里插入图片描述
需要控制2个http请求顺序执行还需在线程组中添加>逻辑控制器>临界区控制器(Critical Section Controller)
在这里插入图片描述
可以看到http请求1发送后,等待时间过后发送了http2。

特殊说明
固定定时器需要添加在发送前需要执行等待时间得http请求中,才能达到等待固定时间再发送指定http请求的目的。
如果固定定时器直接配置在线程组下面,无论放在哪个位置,执行效果都是先执行固定定时器,在执行http请求,如下图所示的配置,执行效果是每个http请求发送前都会等待固定时间。
在这里插入图片描述

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-11-24 08:14:59  更:2021-11-24 08:16:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 5:45:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码