Jmeter组成
断言:适合做自动化测试,多并发不推荐用断言,性能测试不是准确性测试。
配置元件:并发前,配置信息。
后置处理器:并发完成之后想要做些什么,可以用来处理关联问题。
前置处理器:请求发生前要干什么。
逻辑控制器:当满足了什么什么,就做什么什么。
Sampler:放的是真正意义上的请求。
线程组——Jmeter实现多并发 负载发生器,用多线程或多进程的方式来模拟用户的使用行为。Jmeter是以线程的方式来进行模拟用户的并发访问的。
逻辑控制器——Jmeter实现逻辑分支控制 用来控制测试脚本的逻辑判断,也可以理解为如何控制脚本的运行。例如:如果控制器,就是当满足什么样的条件后执行哪一步操作。
配置元件——Jmeter实现配置管理 用来提供一些配置相关的信息,如Http请求头、COOKIE管理,提供参数化数据。还可以进行用户自定义变量等配置,定义常量等。
前置处理器——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)