jmeter接口测试实战之--登录随机输入手机号,从数据库获取验证码
废话不多说,开始搞起!
1.添加线程组
2.添加Http Header Manager,并把响应参数放进去,因为所有接口都需要header信息,所以可以把这个作为全局信息
3.因为我们要随机取一个手机号来进行验证码登录,所以此处设置一个手机号随机值:
点击jmeter里的笔记本icon---function选择random---输入最小值、最大值、变量名---点击生成---复制生成的变量---选中线程组右键---添加---配置元素---用户自定义变量---把刚才复制的变量放进去
4.因为我们的验证码都在数据库sms_log表里,所以我们需要jmeter链接数据库去查询短信验证码:
选中线程组右键---添加---配置元素---JDBC Connection Configuration需要填写一下信息:
variable name for creat pool:可以随便写,如MySQL
Database URL:固定格式:jdbc:mysql://数据库地址:端口/数据库名
JDBC Driver class:com.mysql.jdbc.Driver
Username:数据库用户名 Password:数据库密码
链接数据库需要添加mysql JDBC驱动包:mysql-connector-java-5.1.7-bin.jar,这个可以自己下载下,放到 安装jmeter的lib路径下---点击测试计划---浏览---选择你添加的jar文件
5.因为我们发送验证码需要触发发送验证码接口,数据库才会生成一条验证码,所以我们添加发送验证码接口:选中线程组右键---添加---取样器---Http请求:步骤略
6..触发发送验证码后去数据库获取:(以获取验证码为例)选中线程组右键---添加---取样器---JDBC Request:
Variable Name of Pool declared in JDBC Connect Configuration:此处需要和JDBC Connection Configuration中的variable name for creat pool值一样
Parameter values:${phone}
Parameter types:varchar
Variable name:此处也需要和JDBC Connection Configuration中的variable name for creat pool值一样
中间就是写查找验证码的SQL:select content from XXX where phone = ${phone} and status =1 g.
因为我们数据库中的content中既包含验证码也包含其他文字,所以我们需要把验证码提取出来,这里用正则表达式进行提取:选中JDBC Request右键---添加---后置处理器---正则表达式提取器(解释下后置处理器和前置处理器),填写以下信息: 变量名:自己写,表达式:(\d+),模板:$1$,匹配数:1
调试的时候可以添加一个正则表达式提取结果,来看提取的内容是不是对的
每个请求下都可以添加一个查看结果的,方便大家调试
7.终于,最后一步,登录接口:按用例设置添加登录接口信息并添加查看结果。