Jmeter常用函数、逻辑控制器

时间:2024-10-01 07:07:03

目录

一、Jmeter常用函数

counter函数

machineName函数

machineIP函数

Random函数

RandomString函数

RandomDate函数

time函数

二、逻辑控制器

IF控制器

循环控制器

foreach控制器

仅一次控制器

事务控制器

聚合报告

随机控制器

随机顺序控制器


一、Jmeter常用函数

1、${__setProperty()}作用是用来设置属性值

2、${__property()}用来取对应属性值

3、${__counter(false,)}计数器用来产生一个连续的正整数数据

4、${__machineName()}获取本机电脑的名称

5、${__machineIP()}用来获取本机电脑的ip地址

6、${__Random(1000,9999,)}生成随机数

7、${__RandomDate(yyyy-MM-dd,2024-09-01,2024-09-26,,)}

8、${__time(yyyy年MM月dd日 HH:mm:ss SSS,)}获取本地时间并格式化 yyyy代表年 MM代表月 dd代表天数 HH 代表小时 mm 代表分钟 ss 代表秒数 SSS 代表毫秒数

9、${__RandomString(5,afsadfasdfdsafadf,)} 获取一个随机字符串

 setProperty和property在上篇文章中跨线程中说明过了,这里不在赘述,有需要的参看我上一篇文章

https://blog.****.net/Betray391/article/details/142552972?fromshare=blogdetail&sharetype=blogdetail&sharerId=142552972&sharerefer=PC&sharesource=Betray391&sharefrom=from_link

counter函数

计数器用来产生一个连续的正整数数据,跟配置元件里面的计数器作用类似

machineName函数

获取本机电脑的名称

这里成功获取到了电脑名称

machineIP函数

用来获取本机电脑的ip地址

Random函数

生成随机数

比如我们想要在做注册测试的时候,需要保证注册的手机号什么的不一样,就可以用随机数来生成一些手机号保证每次执行都不会出现用户名已存在的问题

这里是生成随机4位数字 

RandomString函数

也是随机生成的函数,不过是随机成成文字的,可以是英文也可以是中文,注册时候生成随机名字

如果想输入中文的话也是直接输入就行

然后添加到请求中即可使用,中文名字一般是都两个或者三个字的,这样我们可以进行组合,

这样就能随机组合出一个名字了

RandomDate函数

获得随机日期

我们只要给一个开始时间一个结束时间就能在这两个时间种间随机生成一个时间来用

time函数

获取本地时间并格式化 yyyy代表年 MM代表月 dd代表天数 HH 代表小时 mm 代表分钟 ss 代表秒数 SSS 代表毫秒数

直接获取到了当前的时间

二、逻辑控制器

控制取样器的执行步骤

IF控制器

当msg返回的信息中是“登录成功”就继续执行否不通过

这里有两种写法,跟下面的复选框有关系

第一种

当我们不选择下方时,他就会有一个警告,可以忽略这个警告,最后执行的效果是一样的

第二种

当我们选择了这个以后,就不会有这个警告了,但是我们的写法就得变,就需要用jex13函数来写这个条件,用哪一种都可以

循环控制器

用来控制取样器的执行次数

我们看结果,可以看到是循环执行了五次

 

foreach控制器

对于提取出来的多个值循环使用

这里我们直接循环使用name2的内容,看看效果

仅一次控制器

放入控制中的取样器最多执行一次

这里我们先把线程数设为3个人

然后运行查看结果是否只执行了一次,能够看到登录只执行了一次

事务控制器

把多个接口当成一个事务来处理,意思就是比如把登录,添加购物车,付款这一整个事务当做一个一个来执行

这里有一个新的监听器,叫做 “聚合报告” ,我们用它来查看事务

能看到这个报告中把多个请求看做了一个操作

聚合报告

这里解释一下聚合报告中的内容

当我们进行测试的时候,如果我们需要求平均值,这个时候就可以使用聚合报告

lable:标签 用来显示取样器名称或者时逻辑控制器名称

样本:执行的测试次数

平均值:平均响应时间

中位数、90%、95%、99%指的时请求在某个时间点之下完成的。

最小值:就是请求最快,消耗的时间

最大值:请求最慢消耗的时间

异常%:错误的个数/请求的总数的百分比(行业标准是万分之5)

吞吐量:对于这样的请求每秒完成的数量

接收:服务返回的数据大小

发送:客户端提交数据大小

将来我们做性能测试:响应时间最小值和最大值之间如果波动比较大,那么这个时候就不要使用平局响应时间了,要用90%的时间

随机控制器

随机从多个接口中随机取出一个接口执行

这里是在多个请求中随机挑出一个执行了

随机顺序控制器

随机顺序是运行多个接口时,每次运行顺序不一样

可以看到完全是随机执行的

常用的函数和控制器也差不多说完了