Jmeter函数

函数是Jmeter中封装的最小单元,是一些功能实现。

参数使用的操作步骤还是1、打开函数助手;2、选择函数;3、修改参数;4、生成并拷贝结果去使用。

下面是常用的函数以及用法:

__counter():计数器

__time():获取时间的函数

__random():生成随机数的函数

__CSVRead():读取CSV文件的数据,和CSV DATA Set Config类似。

__setProperty():设置属性

__property():获取属性

__time()函数

${__time(yyyy/MM/dd HH/mm/ss,)}:取当前的年月日 时分秒

__time()的第一个参数可以:yyyy/MM/dd HH:mm:ss(年/月/日 时/分/秒)

也可以只有年月日,yyyy/MM/dd

或者只有时分秒,HH/mm/ss

格式也可以变化,比如yyyy.MM.dd,注意大小写敏感。

第二个参数就是将当前的时间值存到哪个变量名中。

例子:时间戳

__Random()函数

Random()函数是取一个随机数的意思,有三个参数,前两个参数是随机数的取值范围,第三个参数是变量名,将取到的随机数放到哪个变量中。

__CSVRead()函数

从CSV文件读取一些数据,进行批量操作

上面讲参数化的时候,说过多用户同时登录的操作,用__CSVRead()函数如果实现呢?

接口链接:https://api.apiopen.top/developerLogin

1、添加一个HTTP请求,线程数设置为3,新建一个文件保存接口需要的参数:

2、然后使用函数生成工具,找到__CSVRead()函数,

两个参数,第一个参数是参数文本文件的路径(必须是绝对路径),第二个参数是列号,从0开始。

3、HTTP请求的Body Data改为:name=${__CSVRead(F:\jmeter\练习\参数\dataLogin.txt,0)}&passwd=${__CSVRead(F:\jmeter\练习\参数\dataLogin.txt,1)}

即可。

__CSVRead()函数和CSV DATA Set Config的区别:

  一个是设置的线程组的属性有区别,CSV DATA Set Config要设置循环次数,才会依次去找参数。__CSVRead()设置的是线程数

  另外路径,__CSVRead()可以写相对路径,CSV DATA Set Config只能写绝对路径。

__setProperty() 、__property() 属性相关函数

__setProperty() :设置属性

__property():属性获取

前面讲到关联的地方,讲了同一个线程组中,两个HTTP请求有关联的情况,比如第一个请求是请求百度首页,第二个请求是在搜狗首页,搜索第一个请求返回的title。

之前讲的关联的步骤大致是这样的:

1、新建一个线程组,在该线程组新建HTTP请求,请求百度首页,然后在该请求添加一个后置处理器,xpath提取器或者正则表达式提取器,提取出title。赋值给变量myTitle

2、在线程组内再新建一个HTTP请求,请求搜狗首页,参数设置query=${myTitle}

这样运行就可以了,不会报错,但是如果这两个HTTP请求是在不同的线程组内,这样就不行了。会报如下错误:

myTitle参数没有找到。如何改一下就可以了呢。

可以使用__setProperty()和__property()

步骤:

接着上面的步骤,第三步:

3、点击函数助手,找到__setProperty(),第一个参数是属性名称,起个名字,第二个参数是你要把哪个参数设置为全局参数

4、右键“线程组_setProperty”,添加->Sampler->BeanShell Sampler,将上面生成的__setProperty()函数粘贴到这里。

5、点击函数助手,找到__property()函数,填写属性名称,和setProperty()方法中的一致。

6、修改“线程组_setProperty2”中的“HTTP请求_搜狗”,将原来的${myTitle}修改为:${__property(out,,)},运行就不会报错了。

共享数据(全局变量):

用上面的BeanShell的方式可以设置共享数据,运行完以后可以到工作台中去看到,右键工作台->添加->非测试元件->Property Display

运行完毕后,就可以看到这个值了。

虽然可以这样设置全局变量,但是尽量少用,毕竟它是在你整个运行期间一直占用内存的,即使这个线程组不用了,也不会释放。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值