Jmeter常用函数、逻辑控制器

目录

一、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.csdn.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%的时间

随机控制器

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

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

随机顺序控制器

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

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

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

JMeter的While控制器是一种逻辑控制器,用于在满足特定条件的情况下循环执行一组样例。根据引用\[1\]和引用\[2\]的内容,可以了解到While控制器的属性和条件设置。 While控制器的属性包括名称、注释和条件。名称和注释可以根据需要进行设置。条件可以是一个函数或变量,当条件为False时,循环将跳出,否则将一直执行While控制器下的样例。 条件可以使用JMeter的内置函数(如__javaScript、__jexl3、__jexl2)进行运算。常用的比较运算符有大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)和不等于(!=)。条件可以是数值类型或引用类型,当引用类型为字符串时,需要在函数中添加引号。 根据引用\[3\]的内容,如果条件设置为LAST,则表示如果While控制器前一个样例执行失败,则不会进入While循环。如果条件为空,则表示循环中有取样器执行失败时停止循环。如果条件为true或false,则根据条件的值来控制是否执行While控制器。 综上所述,JMeter的While控制器可以根据条件循环执行一组样例,条件可以是函数或变量,满足条件时循环继续执行,不满足条件时循环结束。 #### 引用[.reference_title] - *1* *3* [软件测试技能,JMeter压力测试教程,逻辑控制器之While控制器(二十九)](https://blog.csdn.net/x2waiwai/article/details/123031442)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [JMeter While控制器](https://blog.csdn.net/qq_38776582/article/details/119136730)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Betray391

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值