1 Jmeter组件:函数
1.1 是什么?
是程序中的封装单元(最小的),封装一些功能实现
1.2 为什么?
优点1:易读 易维护
优点2:实现功能复用
1.3 怎么用?
流程:
1) 打开Jmeter内置的函数功能模块
2)选择要调用的函数,传参数,生成调用格式
- 哪里需要贴哪里
除了jemetr内置的函数,也可以自定义函数
函数分类:
_counter():计数器
_random():随机数函数:包含左右临界值
_time():获取时间的函数:时间格式 yyyy/MM/dd HH:mm:ss == 年/月/日 时:分:秒
_CSVRead():和CSV data set config 类似可以读取CVS文件数据
需求:使用CSVRead函数实现学院信息的批量插入(比如:3条)
思想:
1) 搭建框架(线程组设置循环次数),JSON 格式数据只是模板,具体数据动态获取
注意:执行次数设置与信息头设置
CSV Data set config执行多次是使用的循环次数,而CSVread执行多次使用的是线程数
2)将数据存储在外部的文本文档(CSV格式)时,CSVRead函数设置CSV文件时必须使用绝对路径,不可使用相对路径。
3)使用CSVRead 函数逐行获取并解析CSV文件,插入提交的JSON数据中
_setProperty():属性设置
_property():属性获取
需求:将HTTP请求1访问百度,将请求1响应的title值传递给请求2,但两个请求不属于同一个线程组
HTTP请求2访问谷歌 /?wd=百度一下,你就知道
实现思想:
将线程组内部的数据导出去,存储在共享空间中,其他线程组要使用数据,就从共享空间获取
实现流程:
1)将数据从当前线程组导出_setProperty
变量名
变量值 ${变量名}
- 另外一个线程组将导出到共享空间的数据引入_property
根据变量名获取
注意:查看共享数据,测试计划--->添加---> 非测试元件 ----> property display
操作的前提:
创建一个线程组增加http请求
数字相关函数:
_counter计数器
_random
_time
_CSVRead
${__CSVRead(E:\dataSource.txt,0)}
_setProperty
将百度和谷歌的线程组区分开,勾选独立运行,出现作用域问题
将数据从当前线程组导出_setProperty
增加取样器将线程组05的参数放入
将myTilte字段变为全局