文章目录
一、Jmeter的组成
Jmeter组成
-
断言:适合做自动化测试,多并发不推荐用断言,性能测试不是准确性测试。
-
配置元件:并发前,配置信息。
-
后置处理器:并发完成之后想要做些什么,可以用来处理关联问题。
-
前置处理器:请求发生前要干什么。
-
逻辑控制器:当满足了什么什么,就做什么什么。
女朋友对程序员说: “亲爱的,去超市买一个西瓜吧, 如果他们还有鸡蛋,再买20个。” 结果程序员带了21个西瓜回家。 女朋友愤怒地说:“为什么买21个西瓜回来”? 程序员答:“因为他们确实有鸡蛋”。 -
Sampler:放的是真正意义上的请求。
二、Jmeter组件介绍
-
线程组——Jmeter实现多并发
负载发生器,用多线程或多进程的方式来模拟用户的使用行为。Jmeter是以线程的方式来进行模拟用户的并发访问的。
-
逻辑控制器——Jmeter实现逻辑分支控制
用来控制测试脚本的逻辑判断,也可以理解为如何控制脚本的运行。例如:如果控制器,就是当满足什么样的条件后执行哪一步操作。
-
配置元件——Jmeter实现配置管理
用来提供一些配置相关的信息,如Http请求头、cookie管理,提供参数化数据。还可以进行用户自定义变量等配置,定义常量等。- JDBC Connection Configuration
- JDBC Request
- JDBC Connection Configuration
-
前置处理器——Jmeter实现请求预处理
用于在实际的请求发出之前对即将发出的请求进行特殊处理。例如,用户参数,可以在实际发送请求之前来定义变量,可以在后边的实际请求中进行使用。
-
定时器——Jemeter集合点、定时并发
用于操作与操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手段。类似于LoadRunner里的“思考时间”。设置等待时间主要是为了模拟用户实际的使用场景。
-
Sampler——Jmeter实现各种请求的发送
取样器,是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,Jmeter原生支持多种不同的Sampler。
-
后置处理器:Jmeter实现关联
(关联概念的应用器)用于对Sampler发出请求后得到的服务器响应进行处理。一般用来提取响应中的特点数据。-
正则表达式提取器:常用来提取token
Regular Expression:
():表示封装待返回的匹配字符串
.:匹配任何字符
+:一次或多次
?:不要贪婪,在找到第一个匹配项后停止
.*:任意字符
\d:数字字符匹配,等效于[0,9]Template:
$0$:获取表达式中的全部内容 (name=tj_login class=lb>登录)
$1$:获取表达式中匹配到的第一个内容 (lb)
$1$$2$:表达式中匹配到的第一个内容和第三个内容的拼接(lb登录)Macth No.:
正则表达式匹配数据的最终结果可以看做一个数组,匹配数字即可看做是数组的第几个元素。当为 0 时,随机返回匹配的数据。Default Value:
匹配失败时的默认值。通常用于后续的逻辑判断,可以使用一些特殊含义的,比如0,NULL,ERROR等。
-
-
断言——Jmeter实现数据预判
断言用于检查测试中得到的相应数据是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否与预期一致。
-
监听器——Jmeter实现监控数据可视化
用来对测试数据进行处理和可视化展示的一系列组件。例如:查看结果树,聚合报告。
-
函数助手
Tools->Function Helper Dialog
选择函数->填写值-> 生成函数名-
随机数(_Random)
-
参数化助手(_CSVRead):以文件的形式做参数化
csv文件列号:从0开始 -
计数器(_counter)
全局计数器(true)和线程计数器(false)区别 -
唯一数(_UUID)
-