1.背景
所有的练习,都是访问的禅道系统(自己在服务器上搭建)。本次练习的主题是:从数据库中获取所有的用户名和密码,然后将参数传递给登录请求,进行登录。
需要了解的知识点:
1.数据库的连接及变量设置
2.循环控制器
3.配置元件Count(计数器)
4.__BeanShell()函数及基本的脚本编写
5.__V()函数的使用(用于两个变量的拼接)
2.Jmeter连接Mysql数据库
1.参考文档:http://jmeter.apache.org/usermanual/component_reference.html#JDBC_Connection_Configuration
Q:Database URL为什么添加了一串后缀呢?【?characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull】
A:因为在我的sql语句查询出的结果中,包含了时间格式的数据时,会出现错乱,故加上这个后缀。
2.在JDBC Request中添加sql语句,设置后面要引用的变量名。
3.查询结果如图:
3.取数据库数据进行参数化
在登录时,计划通过读取数据库的数据进行参数化,将上面的11条数据都传递下去。
1.方式一:采用__BeanShell函数获取值,其中index是通过添加计数器count获取的;
${__BeanShell(vars.getObject("result").get(${__intSum(${index},-1)}).get("account"))}
${__BeanShell(vars.getObject("result").get(${__intSum(${index},-1)}).get("password"))}
2.方式二:采用__V函数拼接2个变量。2个变量的拼接,以下4种方式都是错误的:
1.${account_index}
2.${account_${index}}
3.${account}_${index}
4.${__V(${account} _${index})}
正确的方式如下:
${__V(account _${index})}
3.结果如图: