Seleton 2020-06-16
一、函数概述
1、概述
函数是程序中的封装单元(最小的),封装一些功能实现。Jmeter内置了一些函数,了解这些函数,使用函数助手可以帮助我们调用函数。
2、函数分类
(1)数字相关的:
(2)文件读取相关的:
__CSVRead( ):和CSV Data Set Config类似可以读取CSV文件数据
(3)属性相关的:
3、实现思想
(1)打开Jmeter 内置的函数功能模块
(2)选择要调用的函数,传参数,生成调用格式
(3)哪里需要粘哪里
二、数字相关函数使用
1、__counter()函数
(1)打开Jmeter 内置的函数功能模块,选择__counter()函数,填写函数参数,生成调用格式,如下图所示:
(2)复制生成的调用格式,创建HTTP请求,粘贴复制的调用格式,如下图所示:
(3)运行测试计划,查看结果树,如下图所示:
2、__random()函数
(1)打开Jmeter 内置的函数功能模块,选择__randon()函数,填写函数参数,生成调用格式,如下图所示:
(2)复制生成的调用格式,创建HTTP请求,粘贴复制的调用格式,如下图所示:
(3)运行测试计划,查看结果树,如下图所示:
3、__time()函数
(1)打开Jmeter 内置的函数功能模块,选择__time()函数,填写函数参数,生成调用格式,如下图所示:
(2)复制生成的调用格式,创建HTTP请求,粘贴复制的调用格式,如下图所示:
(3)运行测试计划,查看结果树,如下图所示:
注:时间格式:yyyy/MM/dd HH:mm:ss==年/月/日 时:分:秒
三、 __CSVRead( )函数
1、__CSVRead()函数:
__CSVRead() 和CSV Data Set Config类似可以读取CSV文件数据,但是CSV Data Set Config执行多次是使用的循环次数,而CSVRead执行多次使用的是线程数。
2、需求
使用CSVRead函数实现学院信息的批量插入(此如: 3条)
3、实现思想:
4、实现过程
(1)搭建框架,设置线程组的线程数,HTTP请求的请求JSON格式数据只复制接口定义的模板,具体数据动态获取,如下图所示:
(2)编辑文本文档,将数据存储在外部的文本文档(CSV 格式),如下图所示:
(3)打开Jmeter 内置的函数功能模块,选择 __CSVRead()函数,填写函数参数,生成调用格式,如下图所示:
注:CSVRead函数设置CSV文件路径时,必须得使用绝对路径,不可以使用相对路径
(4)复制生成的调用格式,在HTTP请求中粘贴复制的调用格式,如下图所示:
(5)运行测试计划,查看结果树,如下图所示:
四、属性设置函数
1、函数
2、需求
3、实现思想:
将线程组内部的数据导出去,存储在共享空间中,其他线程组要使用数据,就从共享空间获取
4、实现流程
(1)搭建框架,创建HTTP请求和Xpath提取器,如下图所示:
(2)打开Jmeter 内置的函数功能模块,选择 __setProperty()函数,填写函数参数,生成调用格式,如下图所示:
(3)线程组右键----添加----Sampler----Bean Shell,创建Bean Shell执行脚本,并粘贴复制的函数,如下图所示:
(4)打开Jmeter 内置的函数功能模块,选择 __property()函数,填写函数参数,生成调用格式,如下图所示:
(5)再次创建线程组和HTTP请求,调用复制的__property()函数调用格式,如下图所示:
(6)运行测试计划,查看测试结果,如下图所示:
注意:可通过工作台----添加----非测试元件----Property Display,查看共享空间的数据,如下图所示:
注:一般不使用共享空间,因为这样变量的生命周期太长,容易出问题。
五、总结
1、概述:
函数是程序中的功能单元(最小),具有易读性,易维护,可实现功能复用。
2、函数
数字相关:
文件读取:
属性设置: