如果你想从头学习Jmeter,可以看看这个系列的文章哦
https://www.cnblogs.com/poloyy/category/1746599.html
前言
- Jmeter 使用 JDBC Request 获取数据库中数据,很多人都会用,因为测试中,有时候需要大量的用户进行登录,然后获取数据库中真实的数据用于测试
- 前面也详细讲到 JDBC Request 的具体使用,一般是通过 Variable names 和 Result variable name 来获取返回的数据
- 这篇文章主要讲的就是把 Variable names 和 Result variable name 获取到的数据提取出来,给到 HTTP 请求使用
Variable names + Foreach控制器
线程组结构树
JDBC Request
调试取样器运行结果
有 100 条记录
ForEach控制器
循环运行的结果( mobile:${mobile} )
Variable names + 循环控制器
和上面的栗子只是换了个控制器而已,没太大变化
线程组结构树
循环控制器
填写 100,是代表循环100次
计数器
从 1 开始,递增加到 100为止,每次递增 1
- 初始值=1
- 每次增加 1
- 最大的值=100(包含)
- 新变量 num
循环控制器内的 Debug Sampler
${__V()} 是关联函数,后面讲到
循环运行的结果( mobile:${mobile} )
Result variable name + Foreach控制器
线程组结构树
JDBC Request
正则提取器
重点
Applu to 选中 Jmeter Variable Name to use,因为要从 Jmeter Variables 中拿到 result_mobile 变量进行提取
调试取样器运行结果
正则提取后的值是不是跟上面 Variable names 获取的值列表很像,是的!然后再结合 ForEach控制器就好啦
ForEach控制器
循环运行的结果( mobile:${mobile} )
Result variable name + 循环控制器
和上面的栗子只是换了个控制器而已,没太大变化
线程组结构树
循环控制器
填写 100,是代表循环100次
计数器
用户参数
重点一
- ${__BeanShell(vars.getobject("result_mobile").get(${num}).get("mobile"))}
- ${__BeanShell()} :执行BeanShell脚本,一般比较短的脚本可以用此方法来写,后面会再详细讲解这个函数
重点二
- vars.getobject("result_mobile").get(${num}).get("mobile")
- result_mobile:是一个数组,即 Result ariable name,每个元素都是 {mobile=158000480001}
- ${num}:上面计数器的值,每次递增 1,这里是数组下标的意思
- 总结:获取 result_mobile 数组,每次取数组中第 num 个元素,从元素中取 mobile 键的值【这是固定写法,只改Object 名、键名就行了】
循环运行的结果( mobile:${user_mobile} )
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。