Jmeter(九):jmeter_逻辑控制器与HTTP Cookie管理器详解

Jmeter:jmeter_逻辑控制器_事务控制器

事务

性能测试中,事务指的是从端到端,一个完整的操作过程,比如一次登录、一次 筛选条件查询,一次支付等;技术上讲:事务就是由1个或多个请求组成的

事务控制器

事务控制器类似简单控制器,把单个或者多个请求做成一个整体业务,它包含了2个选项,更能突出事务的概念。

Generate parent sample

如果事务控制器下有多个采样器(请求),勾选后,在察看结果树中不仅可以看到事务控制器,还可以看到每个采样器,并且事务控制器定义的事务是否成功取决于子事务是否都成功,任何一个失败代表整个事务失败

Include duration of timer and per-post processors in generated sample

是否包含定时器、预处理和后期处理延迟的时间,选中这一项会统计定时器(timer)的时间,否则只统计采样器(sample)的时间

举例:如下图

同时,我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看 ,或者直接关注VX公众号:互联网杂货铺,免费领取

软件测试视频教程观看处:

字节大佬教你逼自己如何在15天内掌握自动化测试(接口自动化/APP自动化/Web自动化/性能测试),内含项目实战

Jmeter:jmeter_逻辑控制器_简单控制器

简单控制器

它是最基本的控制器,对jmeter测试运行没有任何影响,可以将一些请求归 集在一个简单控制器中,视为一个模块,使得脚本结构更清晰

路径:逻辑控制器------简单控制器;

可把简单控制器当成一个文件夹看待;如下图

Jmeter:jmeter_逻辑控制器_循环控制器

循环控制器

循环次数:设置该控制器下的请求的循环执行次数

永远:勾选上的话,会一直循环,即所谓死循环

注意:如果线程组本身已经设置了循环次数的话,那循环控制元件控制的子节点 的循环次数为线程组设置的循环次数乘以循环控制器设置的循环次数的结果(例如: 线程组设置循环数为2,循环控制器设置循环数为3,则循环控制器控制的节点循环 次数为2*3,6次)

Jmeter:jmeter_逻辑控制器_交替控制器

交替控制器

该控制器包含的取样器步骤在每次循环中交替执行

交替控制器指每次运行一次时在交替控制器下的采样器只执行一个;如下图:

忽略子控制模块:如果勾选此项,交替控制器将子控制器像单一请求元素一样,一次 只允许一个请求/控制器(但如果交替控制器下有事务控制器时,则不会执行事务控制器下的请求)

Interleave across threads:勾选此项后,多线程运行脚本时,交替控制器依然生效, 例如线程1执行了HTTP请求,那么线程2将直接执行简单控制器1

Jmeter:jmeter_逻辑控制器_仅一次控制器

仅一次控制器

在进行压测时,往往类似登录等接口只需要一次,其他的接口需要循环测试。 这里就会用到控制器中的仅一次控制器。只要放置在控制器的请求,不管在哪种 情况下,都只执行一次

注意:循环一次是只针对线程组所设置的循环,如果将 "仅一次循环控制器" 添加在"循环控制器"下作为子节点,则无法实现仅一次循环

Jmeter:jmeter_逻辑控制器_随机控制器&随机顺序控制器

随机控制器

当该控制器下有多个子项时,每次循环会随机执行其中一个

Ignore sub-controller block(忽略子控制器模块)

如果勾选了此项,随机控制器下的子控制器中的多个子项只会被执行一个

随机顺序控制器

当该控制器下有多个子项时,它会执行它下面的每个子项,只不过执行顺序 是随机的。

Jmeter:jmeter_HTTP Cookie管理器

HTTP Cookie管理器

HTTP Cookie管理器可以像浏览器一样自动存储和发送cookie,以这种自 动收集的方式收集到的cookie不会在cookie manager中进行展示,但是运行后, 可以通过 查看结果树(监听器)可以查看到cookie信息

除了上述的自动收集方式,还可以进行手动添加cookie

元件参数解析

**每次反复清除Cookies?:**选择后,则每次线程组运行时,都会清除 cookie。 (若是手动添加的cookie,则不会被清除)

Use Thread Group configuration to control cookie clearing:

使用线程组的设置来控制清除cookie,建议与线程组设置中的不勾选Same user on each iteration 一起使用来模拟每次迭代登录使用不同session登录的情况。

Cookie Policy:Cookie的管理策略

standard:符合RFC 6265第4节定义的规范。推荐!

standard-strict:符合RFC 6265第4节定义的行为规范。推荐!

ignoreCookies:所有cookie被忽略。与删除或禁用Cookie Manager相同。

netscape:与Netscape Communications发布的原始规范草案相对应。

default:基于随HTTP响应发送的cookie属性,选择RFC 2965,RFC 2109或Netscape草案兼容实施。

rfc2109:符合RFC 2109定义的规范。

rfc2965:符合RFC 2965定义的规范。

compatibility:兼容性,模拟Mozilla FireFox和Internet Explorer等旧版浏览器的行为

存储在Cookie管理器中的Cookie:

名称:响应体cookie中的参数名称

值:响应体cookie中的参数值(可能需要正则表达式来关联取得)

域:填写IP或域名

路径:响应体cookie中的Path,表示该路径下的所有请求都可以用

写在最后

PS:这里分享一套软件测试的自学教程合集。 对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G 。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

☑ 240集-零基础到精通全套视频课程
☑ [课件+源码]-完整配套的教程
☑ 18套-测试实战项目源码
☑ 37套-测试工具软件包
☑ 268道-真实面试题
☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

相关推荐
毕业设计制作和分享1 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis
ketil271 小时前
Redis - String 字符串
数据库·redis·缓存
Hsu_kk2 小时前
MySQL 批量删除海量数据的几种方法
数据库·mysql
编程学无止境2 小时前
第02章 MySQL环境搭建
数据库·mysql
awonw2 小时前
[java][框架]springMVC(1/2)
测试工具·postman
knight-n2 小时前
MYSQL库的操作
数据库·mysql
茶馆大橘2 小时前
微服务系列五:避免雪崩问题的限流、隔离、熔断措施
java·jmeter·spring cloud·微服务·云原生·架构·sentinel
包饭厅咸鱼3 小时前
QML----复制指定下标的ListModel数据
开发语言·数据库
生命几十年3万天3 小时前
redis时间优化
数据库·redis·缓存
Elastic 中国社区官方博客3 小时前
释放专利力量:Patently 如何利用向量搜索和 NLP 简化协作
大数据·数据库·人工智能·elasticsearch·搜索引擎·自然语言处理