JMeter学习(四)参数化、断言、集合点
1.参数化
录制脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统。
这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问。
JMeter的参数化存在两种方式
准备工作
a)录制一个脚本(可以用badboy工具录制),在jmeter中打开,找到有用户名和密码的页面。如下:
b)我们需要“参数化”的数据,用记事本写了三个用户名和密码,保存为.txt格式文件,注意:用户名和密码是一一对应的,中间用户逗号(,)隔开。
参数化的两种方式
(1)借助函数助手的方式
a)点击菜单栏“选项”---->函数助手对话框,看下图: CSV文件列号是从0开始的,第一列0、第二列1、第三列2、依次类推
b)复制生成的参数化函数,打开登陆请求页面,在右则的参数化中找到我们要参数化的字段,这里对用户名和密码做参数化,第一列是用户名,列号为0;第二列是密码,列号为1;修改函数中对应的参数化字段列号就可以啦
好了,现在我们的参数化设置完成,在脚本的时候,会调用我们d:\JMeter\Login.txt文件,第一列是用户,第二列是密码。
(2)借助JMeter中的配置元件(CSV Data Set Config)
a)选中线程组,点击右键,添加-配置元件-CSV Data Set Config
说明:
Filename --- 参数项文件
File Encoding --- 文件的编码,设置为UTF-8
Vaiable Names --- 文件中各列所表示的参数项;各参数项之间利用逗号分隔;参数项的名称应该与HTTP Request中的参数项一致。
Delimiter --- 如文件中使用的是逗号分隔,则填写逗号;如使用的是TAB,则填写\t;(如果此文本文件为CSV格式的,默认用英文逗号分隔)
Recycle on EOF? --- True=当读取文件到结尾时,再重头读取文件
False=当读取文件到结尾时,停止读取文件
Stop thread on EOF? --- 当Recycle on EOF为False时,当读取文件到结尾时,停止进程,当Recycle on EOF为True时,此项无意义
b)使用刚才定义好的变量
至此,两种参数化的方法就介绍完了。
需要说明一下:函数助手方法要比CSV控件方法参数化功能要弱,推荐使用CSV控件方法。
2.断言
JMeter也有像LR中的检查点,本篇就来介绍下JMeter的检查点如何去实现。
JMeter里面的检查点通过添加断言来完成。
上面讲到,我们对用户名和密码进行了参数化,那么怎样来判断jmeter有没有正确调用t.dat里面的文件呢。当然,我们可以从结果图表中查看。但我还是想在“登录”这个地方进行一下检查。
(1)添加响应断言,右键点击我们的“登录”页面---->添加---->断言---->响应断言
(2)设置响应断言
断言中可以添加多个断言一起判断,断言中也可以使用参数化方法,进行动态判断。
(3)添加断言结果,右键点击我们的“登录”页面---->添加---->监听器---->断言结果
再添加一个“查看结果树” 右键点击我们的“登录”页面---->添加---->监听器---->查看结果树
在线程组中设置3个用户,点击运行运行。
(4)查看断言结果
a)、成功如下图:
b)、若断言失败,如下图:
注意:一般成功只会显示一行数据,否则会多显示一行。至此,检查点设置完成。
3.集合点
JMeter也有像LR中的集合点,本篇就来介绍下JMeter的集合点如何去实现。
JMeter里面的集合点通过添加定时器来完成。
注意:集合点的位置一定要在Sample之前.
简单来理解一下,虽然我们的“性能测试”理解为“多用户并发测试”,但真正的并发是不存在的,为了更真实的实现并发这感念,我们可以在需要压力的地方设置集合点,拿那个用户和密码的地方,每到输入用户名和密码登录的地方,所有的虚拟用户都相互之间等一等,然后,一起访问。
(1)接着之前创建的脚本,右键点击 线程组---->定时器---->Synchronizing Timer
这样子就添加了一个“集合点”,下面来设置一下集合点,设置延迟时间(以毫秒为单位)
(2)我们添加完之后的列表是这个样子的
发现了没,我们集合点的位置不对,应该在登录的前面才对。怎么弄呢?
简单方法:拖住集合点,直接移动Synchronizing Timer至登录的前面即可。
至此,集合点已添加完成。
综上,即为JMeter的参数化、断言、集合点的添加方法。
转载于:https://www.cnblogs.com/tian-yong/p/4466690.html
JMeter学习(四)参数化、断言、集合点相关推荐
- JMeter学习(六)集合点
JMeter也有像LR中的集合点,本篇就来介绍下JMeter的集合点如何去实现. JMeter里面的集合点通过添加定时器来完成. 注意:集合点的位置一定要在Sample之前. 集合点:简单来理解一下, ...
- 【转】JMeter学习(六)集合点
JMeter也有像LR中的集合点,本篇就来介绍下JMeter的集合点如何去实现. JMeter里面的集合点通过添加定时器来完成. 注意:集合点的位置一定要在Sample之前. 集合点:简单来理解一下, ...
- DL:深度学习算法(神经网络模型集合)概览之《THE NEURAL NETWORK ZOO》的中文解释和感悟(四)
DL:深度学习算法(神经网络模型集合)概览之<THE NEURAL NETWORK ZOO>的中文解释和感悟(四) 目录 CNN DN DCIGN 相关文章 DL:深度学习算法(神经网络模 ...
- JavaSE学习总结(十四)Map集合/Map和Collection的区别/HashMap/LinkedHashMap/TreeMap/集合间的嵌套/Hashtable/Collections工具类
一.Map集合 我们知道,一个学号就能对应一个学生,并且每个学生的学号都不同,学号就像一个键,对应的学生就是该键对应的值.日常生活中经常能见到这种类似学号对应学生的例子.Java 为了我们更加方便地去 ...
- JMeter学习-006-JMeter 断言
我们的手机应用(例如:京东.天猫.唯品会.携程.易迅 等等 App)所发出的请求,也可进行录制,只需要将手机连接的无线网络代理到本机(以 iPhone 为例,依次点击 [设置]/[无线局域网]/[连接 ...
- Jmeter学习笔记之响应断言
1.简述 jmeter中的响应断言即判断接口请求的返回值是否包含(或等于.不等于)测试人员所预期的数据:响应断言作为一个测试过程中的检查点,不仅可以判断请求是否发送成功,还可以针对具体的返回值判断请求 ...
- jmeter学习笔记(三):jmeter参数化
文章目录 1.CSV Data Set Config-从本地文件取数据 2.函数助手 3.用户自定义变量 4.HTTP请求默认值 测试时需要并发多个用户,为了模拟真实用户行为,我们需要模拟多个不同账号 ...
- DL:深度学习算法(神经网络模型集合)概览之《THE NEURAL NETWORK ZOO》的中文解释和感悟(二)
DL:深度学习算法(神经网络模型集合)概览之<THE NEURAL NETWORK ZOO>的中文解释和感悟(二) 目录 AE VAE DAE SAE 相关文章 DL:深度学习算法(神经网 ...
- jmeter 学习笔记
jmeter 学习笔记 察看结果树:JSON Path Tester.RegExp Tester(正则表达式).XPathTester.JSON JMESPath Tester.Document 断言 ...
- 学习javascript数据结构(三)——集合
前言 总括: 本文讲解了数据结构中的[集合]概念,并使用javascript实现了集合. 原文博客地址:学习javascript数据结构(三)--集合 知乎专栏&&简书专题:前端进击者 ...
最新文章
- 微信小程序var,let,const的区别
- impala和python_Impala和Hive之间有什么关系?
- python注释_python中的单行注释、多行注释
- 一家永不上市,利润共享的行业龙头,依旧还是那个务实创新的少年
- 提取某一个镇的行政边界_关于获取某个省份下面的 镇的 行政区划编码。
- 部署 Job (第四部分)
- lucene3.0_IndexSearcher排序
- 【C#语言学习】学习一门语言
- k2运营商服务器无响应,【求救】K2提示“等待PPP客户端连接”拨号失败
- Html实现QQ音乐首页(响应式)
- iconfont字体图标下载及使用方法
- 5, Swift tableView点击收起展开的效果
- 已解决IndentationError: unindent does not match any outer indentation level
- 领域驱动设计实现之路
- 计算机无法读取tf卡,为什么电脑不识别TF卡?
- amCharts 5.1.12 Crack
- 【第2期免费送书】 10本机器学习与Python相关书籍等你来领!经典之作,绝对领你心动......
- 北邮信通导论第三单元智能温控风扇
- 作文指导百法·9.从阅读中积累素材
- SpringBoot2.0.X使用Redis连接池Lettuce踩坑
热门文章
- 二维GROUP BY
- Tab标签页接口---使用Intent对象
- WinForm窗体之间传值
- Neurocomputing 投稿注意事项
- MSN和QQ文件传输速度解析
- Linux C/C++多线程pthread实例
- Linux禁止非WHEEL用户使用SU命令
- VS在win32平台与mysql链接_mysql5.5.28-win32 + qt--4.8.2-vs2008 数据库驱动编译与连接...
- docker安装问题
- Tailwindcss尤大神都fork了,是未来的趋势?