天天看点

Jmeter接口测试通过SQL查询进行数据校验

在使用Jmeter做查询类接口测试的时候,我们可以通过数据库查询结果与实际接口返回的结果进行数据校验。

接口的返回值:

{

"PageResult":{

"SummaryData":{

"SumMonery":10000,

"SumFee":900,

"SumIncome":16000

},

"PageSize":10,

"CurrentPage":1,

"Data":[

"Id":10,

"Fee":7.65,

"Monery":8.65,

"UserName":"测试",

"Time":"2017-12-12 09:00:00",

"PartnerIdentity":"江西省代理",

"PartnerType":1,

"State":1,

"Income":7.65

}

],

"TotalItems":10

如上就是我们接口正常的返回数据。

我们使用Oracle作为数据库,因此需要加载Oracle安装目录下(C:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib)的ojdbc6.jar文件复制到Jmeter软件的lib\ext目录下。

在测试计划中导入odbc6.jar到classpath里头

然后新增一个JDBC连接配置

Jmeter接口测试通过SQL查询进行数据校验

接着编写一个JAVA项目:

最后打成一个jar包,也新增到刚才的CLASSPATH下

在HTTP连接下新建一个JDBC PostProcessor

Jmeter接口测试通过SQL查询进行数据校验

再然后新建一个BeanShell PostProcessor

如果校验不通过将自动返回一个错误的值,否则返回正常的值

ps:如果需要对返回的结果做替换可以使用

String get_data=response_data.replaceAll("old","new");

例如:

String data2 = rdata.replaceAll("\"SummaryData\":\"", "\"SummaryData\":[");

String response_data = data2.replaceAll("}\",\"IsSucess\"","}],\"IsSucess\"");

本文转自 rong341233 51CTO博客,原文链接:http://blog.51cto.com/fengwan/2069393