JMeter:事务的定义及事务控制器

JMeter:事务的定义及事务控制器,第1张

在做性能测试的时候,有些 *** 作或请求是逻辑上依赖相关的一个整体,不可分割或者是为了方便度量我们关注的一组 *** 作或请求的性能,将要将其看做一个整体。

基于这些原因,我们把这些 *** 作或请求放在一个事务控制器下。

事务控制类似于简单控制器,不仅提供了元素分组的功能除此之外,还可以度量其包含的所有测试元素执行的响应时间。

只有当事务控制器所有的取样器都成功时,事务控制器才成功。

使用事务控制器的典型场合:

1.当要度量生成某个页面的整体性能时,不仅考虑页面请求本身,还需要考虑完成页面渲染所需要的image、CSS、js等资源,因为请求这些数据也会消耗系统,网络等资源。

故需要页面请求与资源请求看做一个整体,放在一个事务控制器下

2.在做API或接口性能测试时,接口之间存在逻辑依赖关系,后一个接口会引用前面接口返回的结果,故需要将这些接口看成一个整体,放在一个事务控制器下,度量性能才能接近真实场景

3.在前面的请求服务器返回了token,后面的请求需要使用token,这些请求有逻辑上的依赖关系,需要看成一个整体,放在一个事务控制器下。

▲ 配置项

● Generate parent sample:

若勾选此项,在聚合报告等监听器中只显示事务控制器本身的数据,不会显示其下的每一个取样器请求的数据反之,则会显示事务控制器和其下的所有取样器的数据。

事务控制器有两种模式的 *** 作:

1.事务控制器额外生成的取样器添加在其下所有的取样器后面

2.事务控制器额外生成的取样器作为其下所有的取样器的父取样器。称之为父模式。

不选(默认)是以模式1 *** 作勾选则以模式2 *** 作。

若以父模式 *** 作,断言等可以被添加到事务控制器下,默认情况下会作用于事务控制器下的每一个单独的取样器以及整个事务取样器。为了限制断言的范围,可以考虑将多个取样器和断言同时放在同一个简单控制器下。

● Include duration of timer and pre-post processors in generated sample:

事务控制器生成一个额外的取样器,用于测量执行嵌套测试元素所花费的总时间。默认不包含内嵌其中的定时器与前/后置处理耗费的时间。若勾选此项,则包含事务控制器下所有元素的处理时间。

▲ 登录步骤

这里以ECshop前台系统登录为例。

s1.直接访问ECshop前台系统登录页面

s2.在登录页面输入用户名及密码,点击登录

s3.跳转到网站首页。

可以将步骤s1、s2、s3对应的 *** 作看做一个事务。

▲ 运行结果

具体 *** 作较简单,不再细讲。

1.先以非父模式运行,查看结果树与聚合报告如下:

2.以父模式运行,查看结果树与聚合报告如下:

事务控制器有什么作用呢?主要体现在,想实现一个功能,但需要多个接口,这个接口需要上一个接口的数据做参数,我们看数据都是单个的请求,对于这种看一个功能包含多个请求的,我们就需要看多个接口的请求时间相加在一起,我们不可能一个一个去添加吧,这时我们需要添加事务,这样会把此事务下的所有请求,都当作一个请求来计算。

有没有感觉你添加了一个假的控制器。

我们先来看下不勾选的效果,为了形成对比,添加了三个取样器,两个在事务下,一个在事务外的,这样我可以猜想下,请求会是什么样子呢?

这事未勾选Generate parent sample的效果,结果树会多产生一个事务控制器的请求,内容是空的

在看下聚合报告吧,整体感觉凌乱了,那个事务控制器是什么鬼

我们在勾选上Generate parent sample看下效果

从图可以看出,我们使用这个的作用了吧,就是为了把多个取样器的和房子事务控制器中来使用计算数据的,这里的时间不仅是取样时间还有其他时间。

在这里我们需要注意下,事务下有多个取样器,其中一个取样器请求失败,这个事务就失败了

对于事务控制器,小弟是理解一个场景,一个功能,含有多个请求组合时间的记录,如有问题,疑问,或者记录中有错误,请说明下,小弟也好学习改进~

jmeter参数化的四种方式:

1、CSV Data Set Config:CSV配置文件,用于参数取值范围较大的时候使用,该方法具有更大的灵活性;

2、User Variables:用户参数,用于参数取值范围很小的时候使用;

3、User Defined Variables:用户自定义变量,一般用于test plan中不需要随请求迭代的参数设置;

4、函数助手_CSVRead的参数化,功能相比CSV Data Set Config较弱;

方法一:CSV Data Set Config/CSV数据配置文件。

步骤:1.添加线程组->2.添加请求->3.配置文件->4.添加CSV->5.运行检查结果

场景:一次查询10个类型的数据

3.配置文件,这个只有1个参数:

方法二:添加用户参数,配置用户参数。其它的同方法一类似。

方法四:函数助手,跟CSV 类似,但没CSV 灵活方便,不用了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11626128.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存