JMeter工具:Http协议录制,脚本调试,关联,参数化,检查点,事务,集合点,元件运行顺序

目录

1. JMeter 工作区

2. JMeter Http协议录制

2.1 Badboy录制

2.2 JMeter配置代理录制

3. JMeter 脚本调试

4. JMeter 关联

4.1 什么是关联

4.2 后置处理器

4.3 RegularExpression Extractor

5. JMeter 参数化

扫描二维码关注公众号,回复: 13588060 查看本文章

5.1 什么是参数化

5.2 配置元件

5.3 CSV Data Set Config

5.4 函数助手

5.5 访问地址参数化

5.6 HTTP请求默认值

6. JMeter 检查点

6.1 什么是检查点

6.2 断言

6.3 Response Assertion

7. JMeter 事务

7.1 什么是事务

7.2 逻辑控制器

7.3 Transactions Controller

8. JMeter 集合点

8.1 什么是集合点

8.2 定时器

8.3 Synchronizing Timer

9. JMeter 元件运行顺序


1. JMeter 工作区

 

2. JMeter Http协议录制

2.1 Badboy录制

参考此文:Badboy工具:简介,安装,脚本录制

2.2 JMeter配置代理录制

参考此文:JMeter工具:JMeter配置代理进行录制

3. JMeter 脚本调试

在JMeter中运行录制的脚本,可能会报错。考虑session等。

或者录制的脚本不满足实际的需求,不满足业务所需。

此时就需要调试脚本,即根据实际需求编辑脚本,添加相关的元件等。

4. JMeter 关联

4.1 什么是关联

用JMeter的元件获取前一个元件运行后服务器返回的动态数据,这个过程就是关联。

重点:在关联时我们要找到哪些内容是要关联的,这个主要是通过分析哪些内容是由服务器返回的,而且服务器后续还会验证的内容。尤其要注意Header部分的内容。

JMeter的关联是由后置处理器来完成的,常用的是正则表达式提取器。

正则表达式的内容非常重要!重点掌握!

4.2 后置处理器

后置处理器就是JMeter的关联元件,可以从服务器响应数据中查找到我们需要的数据。这里重点关注正则表达式提取器。

4.3 RegularExpression Extractor

(1)先介绍一个正则表达式测试器,用来测试正则式是否正确。

 

 (2)正则表达式提取器

页面如下图。

问题:正则表达式放在哪个位置?如果某个目标访问链接没有在脚本中出现,而是由脚本中其他的链接A请求重定向过来的,所以这种情况下,应该把正则表达式提取器放在脚本中链接A的元件下。

注意理解:模板的意义,如何引用等。${引用名称_g2}表示引用了第2个模板组别。

 补充:

问题:Debug Sampler有什么用?添加后(线程组,右键列表->添加->Sampler->Debug Sampler),在察看结果树中,在Debug Sampler这一项的“响应数据”中,就可以看到正则表达式的取值

 

5. JMeter 参数化

5.1 什么是参数化

性能测试经常需要并发多个用户,为了真实模拟用户行为,需要模拟多个不同账号,这种情况下就需要参数化。参数化,即把固定的数据动态化,能够更贴合实际的模拟用户请求。

5.2 配置元件

JMeter配置元件可以进行参数化,用来存储服务器的响应信息(HTTP信息头管理),初始化设置(JDBC connection Configuration)。

这里重点讨论CSV Data Set Config来进行参数化设置。

5.3 CSV Data Set Config

(1)CSV Data Set Config,可以从指定的文件(通常是文本文件)中,一行一行提取文本内容。根据分隔符拆解这一行内容,并把内容与变量名对应上。然后这些变量就可以供取样器引用。

(2)页面解析如图

在其他页面引用CSV 变量名称的格式: ${变量名称}

 

5.4 函数助手

 

 

5.5 访问地址参数化

(1)实际测试时,经常会有脚本开发时的服务器地址,和测试执行时的,不一样。为了方便,可以参数化访问地址。这样当访问地址变化时,我们只需要把参数对应的值更改就行。

(2)页面如下

参数的引用格式:${URL}

5.6 HTTP请求默认值

(1)有的信息,在不同的请求中都要写一遍,重复性工作,工作量比较大。因此JMeter提供了HTTP请求默认值元件来处理该问题,将重复的内容分离出来,只需定义一次。

(2)页面如下

如下填写后,就不需要在每个HTTP请求中再重复填写这些信息了。 

6. JMeter 检查点

6.1 什么是检查点

让JMeter来帮忙验证测试结果的正确性。

6.2 断言

断言组件是通过获取服务器响应数据,然后根据断言规则去匹配这些响应数。匹配到时正常现象,此时看不到任何提醒。匹配不到则说明出现了异常,JMeter会断定这个事务失败,此时在察看结果树中看到的请求名称是红色字体。

重点关注:响应断言

 

6.3 Response Assertion

响应断言的页面如下。

注意:断言还支持正则表达式匹配,用来匹配服务器返回的内容,正则表达式很重要!

7. JMeter 事务

7.1 什么是事务

性能测试的结果统计,一定会关注TPS。TPS表示每秒事务数,每个事物对应的是我们的请求。JMeter能把每个请求统计成一个事务,但有时我们想把多个操作统计成一个事务,此时,就可以考虑使用JMeter的逻辑控制器中的事务控制器。

7.2 逻辑控制器

逻辑控制器,用来控制程序逻辑。JMeter逻辑控制器有多种。

 

7.3 Transactions Controller

 

8. JMeter 集合点

8.1 什么是集合点

性能测试需要模拟大量用户并发。集合点能够尽量让虚拟用户同一时刻发送请求。

JMeter中通过定时器来完成集合点。

8.2 定时器

JMeter定时器,用来控制取样器的执行时机。

 

8.3 Synchronizing Timer

9. JMeter 元件运行顺序

(1)JMeter脚本显示的是树型结构,元件的执行顺序类似二叉树的中序遍历,先根节点后子节点。

(2)JMeter的执行顺序逻辑如下(前提都是这些元件存在并且取样器的结果不为空等)

配置元件

前置处理器

定时器

取样器

后置处理器

断言

监听器

(3)亲自演示一个示例,观察实际的执行顺序(稍后补)

猜你喜欢

转载自blog.csdn.net/sulia1234567890/article/details/121712997