Jmeter 断言mysql查询结果为null

在jmeter中连接数据库,首先要下载数据库驱动jar包:mysql-connector-java-6.0.2.jar,将其放到jmeter的lib\ext目录下。

在测试计划中,点击下方的【浏览】,之后选择mysql-connector-java-6.0.2.jar文件:

然后在线程组-配置原件中添加JDBC Connection Configuration,参数设置:

Variable Name for created pool:连接池的变量名称

Database URL:数据库URL,此处用mysql,格式为:jdbc:mysql://host[:port]/dbname?serverTimezone=UTC

JDBC Driver class:JDBC驱动程序类,mysql选择com.mysql.jdbc.Driver

Username:用户名,默认为root

Password:密码

在线程组-取样器中添加 jdbc request,参数设置:

Variable Name of Pool declared in JDBC Connection Configuration:在JDBC连接配置中声明的连接池的变量名称,参数设置同上Variable Name for created pool

Query Type:查询类型,根据需求选择不同的查询类型

Query:SQL查询,输入SQL语句,不要输入结尾的分号

Parameter values:参数值,多个参数值用逗号分隔

Parameter types:参数类型,与上面的参数值一一对应,有INTEGER, DATE, VARCHAR, DOUBLE等

注:这里参数化有两种方式,一是使用${变量名},具体变量值可以写在用户定义的变量中;

             二是使用“?”,此时变量值写在JDBC Request下方的Parameter values中(此时Query Type应为Prepared Select Statement,若是Select Statement则调不通)

Variable Names:变量名,多个变量名用逗号分隔,每个变量名对应表中的一列,保存返回的数据和行数,若有不需要显示的列可用逗号分开,列名处空着即可。

        用法:${变量名_n}表示该列第n行的值,${变量名_#}表示该列的行数,其中n从1开始

        例如:${name_2}

Result Variable Name:结果变量名称,创建一个对象变量,保存返回结果

        用法:columnValue = vars.getObject("resultObject").get(0).get("Column Name");

        例如:${__BeanShell(vars.getObject("result").get(3).get("name"))},get中的数字从0开始,表示name列第1行的值

Query timeout(s):查询超时时间

Handle ResultSet:处理结果集

 

文章转自jmeter连接数据库 - 雪雪27 - 博客园 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JMeter中,可以使用断言来验证HTTP响应中的内容是否符合预期。如果需要断言多个结果,可以使用以下方法: 1. 使用多个断言组件:可以在同一个HTTP请求下使用多个断言组件,每个断言组件都验证HTTP响应中的一个结果。例如,可以使用“响应代码断言”组件验证HTTP响应代码,使用“响应数据断言”组件验证HTTP响应数据。 2. 使用正则表达式:可以使用正则表达式来验证HTTP响应中的多个结果。例如,可以使用以下正则表达式来验证HTTP响应数据中是否包含“result1”和“result2”: ``` (?s).*result1.*result2.* ``` 此正则表达式表示,在HTTP响应数据中查找“result1”和“result2”,并且它们之间可能包含任何字符(包括换行符)。 3. 使用JSR223断言:可以使用JSR223断言来编写自定义Java代码来验证HTTP响应中的多个结果。例如,可以使用以下Java代码来验证HTTP响应数据中是否包含“result1”和“result2”: ``` String responseData = prev.getResponseDataAsString(); boolean result1Exists = responseData.contains("result1"); boolean result2Exists = responseData.contains("result2"); AssertionResult result = new AssertionResult("Multiple Results Assertion"); if (result1Exists && result2Exists) { result.setFailure(false); } else { result.setFailure(true); result.setFailureMessage("HTTP response does not contain both results."); } ``` 此代码使用getResponseDataAsString()方法获取HTTP响应数据,然后使用contains()方法验证HTTP响应数据中是否包含“result1”和“result2”。最后,根据验证结果设置断言结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值