接口json数据与数据库数据循环比对校验

  创建测试计划,加载数据库驱动:

线程组:

csv配置元件:

注:Filename用的是相对路径,csv文件要与jmeter脚本文件在同一目录

JDBC连接配置:

jdbc请求:

用户定义的变量:

http请求:

BeanShell断言:

 1 source("D:\Test.java");
 2 String responseData=prev.getResponseDataAsString();
 3 String teamNameD="D";
 4 String teamNameJ="J";
 5 String r=vars.get("TEAM_NAME_#");
 6 int rows=Integer.parseInt(r);
 7 for(int i=0;i<rows;i++){
 8     String jsonPath="$.stage[0].division[0].ranking["+i+"].contestantName";
 9     teamNameJ=Test.readjson(responseData,jsonPath);
10     teamNameD=vars.get("TEAM_NAME_"+(i+1));
11     if(!teamNameJ.equals(teamNameD)){
12         Failure=true;
13         FailureMessage="teamNameJ= "+teamNameJ+" 与数据库数据不一致 "+"teamNameD= "+teamNameD;
14     }
15 }

察看结果树:

 Debug Sampler起调试查看数据库返回结果变量值用的,可以删除。

原文地址:https://www.cnblogs.com/xiongjiawei/p/7642571.html