Jmeter事务控制器实战

在性能测试工作中,我们往往只测试业务功能相关主要接口的数据请求和返回。然而实际上用户在使用web应用时,可能会加载诸多资源:htmldom、cssdom、javaScript、ajax请求、图片等。

从打开一个页面到界面渲染完成需要一定的加载时间,这个加载时间是衡量web性能的标准之一。web应用的快速响应,会给用户带来良好的体验。

一个web应用想要留住用户,必须在250ms内渲染界面或给用户提供视觉反馈。

事务控制器会对应生成一个采样器,统计该控制器范围内所有测试元素执行的总时间。

例如,使用JMeter录制脚本的时,JMeter会抓取整个页面加载需要的所有请求,生成的事务控制J器下面包含所有子请求(Home Page .jpg request,.gif request,.png request,.js request等)。执行完成后,JMeter聚合报告会统计该控制器范围内所有接口响应总时间。

需要注意,事务控制器只有在其子采样器都执行成功的情况下才会显示成功。

图片

事务控制器

JMeter控制器添加层次结构:测试计划-->线程组-->事务控制器。

JMeter控制器添加路径:

测试计划-->Add-->Threads(Users)-->Add-->LogicController(逻辑控制器)-->Transaction Controller(事务控制器)

图片

事务控制器界面图:

图片

Generate parent sample

【Generate parent sample】生成父样本,默认值为false。勾选该配置项,相关的子请求放置在事务控制器之下,聚合报告中不会看到该事务控制器所包含的所有子请求。详情如下:

1、不勾选任何选项

图片

查看结果树:

图片

聚合报告:

图片

2、勾选【Generate parent sample】

图片

查看结果树:

图片

聚合报告:

图片

3、Include duration of timer and pre-post processors in generated sample生成的样本中是否包括计时器,预处理和后处理延迟。默认值为false。一般不建议勾选,因为勾选后会把一些额外时间算入执行结果总时间。

勾选:

图片

查看结果树:

图片

聚合报告:

图片

如果需要进行页面性能测试,事务控制器是必不可少的利器,可以增加页面性能测试结果的准确性。

在接口测试时,也会经常用到事务控制器。因为有时一个业务需要关联多个接口才能完成。把这些接口统一归集到一个事务进行性能测试,得到的性能测试结果才会更加接近真实的业务场景。

学习资料/接口/项目等需要领取:需要+\/ →it7411

最新软件测试+进阶测试全套【自学资料包】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/522304.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024 AI 辅助研发的新纪年

随着人工智能技术的持续发展与突破,2024年AI辅助研发正成为科技界和工业界瞩目的焦点。从医药研发到汽车设计,从软件开发到材料科学,AI正逐渐渗透到研发的各个环节,变革着传统的研发模式。在这一背景下,AI辅助研发不仅…

Humanoid-Gym 开源人形机器人端到端强化学习训练框架!星动纪元联合清华大学、上海期智研究院发布!

系列文章目录 前言 Humanoid-Gym: Reinforcement Learning for Humanoid Robot with Zero-Shot Sim2Real Transfer GitHub Repository: GitHub - roboterax/humanoid-gym: Humanoid-Gym: Reinforcement Learning for Humanoid Robot with Zero-Shot Sim2Real Transfer 一、介…

操作系统体系结构(不是很重点)

目录 一. 大内核与微内核二. 分层结构, 模块化和外核2.1 分层结构2.2 模块化2.3 宏内核与微内核 三. 外核 \quad 一. 大内核与微内核 \quad 由于对系统资源进行管理的功能不会直接涉及硬件, 所以有的就没有把这个功能放在内核里面 注意: 考试的时候不要写变态, 要写CPU状态的转…

【前端】-初始前端以及html的学习

💖作者:小树苗渴望变成参天大树🎈 🎉作者宣言:认真写好每一篇博客💤 🎊作者gitee:gitee✨ 💞作者专栏:C语言,数据结构初阶,Linux,C 动态规划算法🎄 如 果 你 …

听 GPT 讲 client-go 源代码 (24)

分享更多精彩内容,欢迎关注! File: client-go/applyconfigurations/batch/v1/jobstatus.go 在client-go的applyconfigurations/batch/v1/jobstatus.go文件中,定义了与Job的状态相关的配置和操作。 文件中定义了以下几个结构体: Jo…

关于 typeof 与 instanceof 区别引出的原型对象问题

一、关于 typeof 与 instanceof 区别: typeof 和 instanceof 是 JavaScript 中用于检查变量类型的两个不同操作符,它们在使用上有着明显的区别和不同的适用场景。 typeof typeof 是一个一元操作符,用于返回一个变量或表达式的数据类型的字符…

【C++】十大排序算法之 归并排序 快速排序

本次介绍内容参考自:十大经典排序算法(C实现) - fengMisaka - 博客园 (cnblogs.com) 排序算法是《数据结构与算法》中最基本的算法之一。 十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序…

MySQL面试题-锁(答案版)

锁 1、MySQL 有哪些锁? (1)全局锁 加了全局锁之后,整个数据库就处于只读状态了,这时其他线程执行以下操作,都会被阻塞: 对数据的增删改操作,比如 insert、delete、update等语句&…

UDP实现文件的发送、UDP实现全双工的聊天、TCP通信协议

我要成为嵌入式高手之3月7日Linux高编第十七天!! ———————————————————————————— 回顾 重要程序 1、UDP实现文件的发送 发端: #include "head.h"int main(void) {int sockfd 0;struct sockaddr_i…

每日一练 | 华为认证真题练习Day195

1、下面是路由器RTD的部分输出信息,关于输出信息描述正确的是: A. 该接口使能的IGMP版本是版本1。 B. 该接口的IGMP状态是DOWN的。 C. 该接口上配置发送IGMP查询消息的时间间隔60S D. 该接口上IGMP查询报文中包含的最大响应时间0s 2、下面是一台路由器…

Leetcode : 1137. 高度检查器

学校打算为全体学生拍一张年度纪念照。根据要求,学生需要按照 非递减 的高度顺序排成一行。 排序后的高度情况用整数数组 expected 表示,其中 expected[i] 是预计排在这一行中第 i 位的学生的高度(下标从 0 开始)。 给你一个整数…

TypeScript 哲学 - Object Types

readonly 修饰对象和数组的 双向可分配性是不同的 Combind types 交叉类型对 值类型可以识别 never 但是 Object 类型识别不了 Tuple