【Jmeter测试】接口请求完成后,查询数据库结果,检测数据存储是否正确
-
Jmeter脚本逻辑
-
发送POST请求,把数据保存到数据库中
-
发讯数据库,数据库查询结果保存的变量中
-
使用BeanShell判断数据库查询结果
-
Jmeter脚本结构
- 第一个箭头指的是JDBC Connection Configuration
- 第二个箭头建立的一个普通事物控制器,方便管理不同的请求案例
- 第三个箭头是一个JDBC Request
- 第四个箭头是一个BeanShell的断言
先讲下1-JDBC的几个重点配置:
- Variable Name for create pool:这个是连接池的配置,需要取个合适的名字,便于在sql request中使用。
- Database URL:这个要注意的是url前面需要加上jdbc:sqlserver(根据不同数据库而定),另外还要使用databaseName指定具体的数据库。
- JDBC Driver class:选择自己业务的数据库JDBC驱动,jmeter默认没有包含所有数据库提供商的jdbc驱动jar包,所以需要自己去下载,然后把下载下来的jar放到lib/ext下,重新启动jmeter加载。
- Username:填写数据库用户名
- Password:填写数据库登录密码
3-JDBC-request的内容:
这里就看到Variable Name of Pool Declare…的配置正好是前面的kingdee,所有jmeter通过jdbc执行sql的时候,会从命名叫kingdee的数据库连接池内获取已经生成好的连接进行数据库操作。
Result variable name:设置用来保存从数据库获取的值,会以key=value的字符串格式保存。
查询完成后,使用BeanShell断言,判断查询的值是不是期望的值:
获取result中的值,然后使用indexOf方法判断是否存在期望的值,如果不存在,就设置Failure=true,同输出失败信息FailureMessage。