欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Jmeter入门使用3 - 查询数据库

程序员文章站 2022-03-17 20:57:06
...

需求:商城端下单,分为几种不同的类别订单(如团购、拼团、普通),没有优惠价的就是普通商品,下单后需要验证订单类型。

思路:普通商品下单,再查询数据库,订单类型为普通

Jmeter入门使用3 - 查询数据库

Step1-添加元素

1、test plan添加用户端token参数,存放商城端的token值,该值可以在该test plan下多个thread groups中使用。

2、添加元素

  • http request defaults: 存放主机地址
  • http header manager:存放通用http header参数
  • jdbc connection configuration: 配置数据库
  • http request(commitOrder):提交订单,需添加一个正则提取器,提取订单号
  • JDBC request(searchOrderClassfy):查询数据库,需添加一个bean shell assertion判断结果
  • view results tree: 查看请求结果

Jmeter入门使用3 - 查询数据库

Step2-设置参数

Jmeter入门使用3 - 查询数据库

 设置jdbc的连接信息,URL规则为 jdbc:mysql://127.0.0.1:portnum/dbname

Jmeter入门使用3 - 查询数据库

正则表达式,用于获取18位的订单号,存放到OrderNo参数里。由于配送方式不同,会拆分成两个不同的订单。需要查询出两个订单号对应的订单类型,如下:

SELECT classify FROM order_tm_order_info WHERE order_no ='${OrderNo_1}' or order_no ='${OrderNo_2}'; 

Step3-判断规则

同样用正则表达式匹配数据库查询结果,如果未匹配到订单类型,则测试失败;获取到了订单类型,需要判断是不是普通订单类型,不是普通类型,则测试失败,是普通类型,则测试通过。bean shell脚本如下:

import java.util.regex.*;

String resp = prev.getResponseDataAsString();
Pattern p = Pattern.compile("(\\d)");
Matcher m = p.matcher(resp);

if(!m.find()){
	Failure = true;
	FailureMessage="未找到订单号";
	}
	
while(m.find()){
	log.info("group(1):" + m.group(1));
	int orderType =Integer.parseInt(m.group(1));
	if(orderType != 0){
		Failure = true;
		FailureMessage="订单类型不准确";
		}
	}

Step4-测试结果

Jmeter入门使用3 - 查询数据库

相关标签: Jmeter