两个JDBC请求,响应数据分别如下:
获取请求json格式如下
请用beanshell断言编写自动化测试脚本,测试数据库内的值是否被准确调用
基本思路:先从两个JBDC请求中输出需要验证的值,再在测试脚本里面进行JSON对象转化,然后进行比对
断言如下
Assertion1:
props.put("Count1", vars.getObject("result1-1").get(0).get("count(*)")); //通过props取出第一个数据库中的count(*)值,注意props和vars的区分
Assertion2:
import org.json.*; //调用jar包
String [] questionnairename1 = new String [100]; //创建三个字符串数组分别代表三个变量
String [] is_use1 = new String [100];
String [] rowguid1 = new String [100];
// int count = props.get("Count1");
// log.info(count.toString());
for(int i =0;i<2;i++){
// questionnairename1[i] = vars.getObject("result1-2").get(i).get("questionnairename").toString();
// is_use1[i]=vars.getObject("result1-2").get(i).get("is_use").toString();
// rowguid1[i] = vars.getObject("result1-2").get(i).get("rowguid").toString();
questionnairename1[i] = vars.getObject("result1-2").get(i).get("questionnairename").toString();
is_use1[i]=vars.getObject("result1-2").get(i).get("is_use").toString();
rowguid1[i] = vars.getObject("result1-2").get(i).get("rowguid").toString();
}
props.put("questionnairename1", questionnairename1); //输出三个变量
props.put("is_use1", is_use1);
props.put("rowguid1", rowguid1);
Assertion3:
import org.json.*;
String response_data = prev.getResponseDataAsString(); //获取响应信息,转为string型
JSONObject object1 = new JSONObject(response_data); //转为JSON对象
JSONObject custom = (JSONObject)object1.getJSONObject("custom"); //得到custom的信息
int totalcount = custom.get("totalcount"); //得到totalcount数字
JSONArray questionnairelist = custom.getJSONArray("questionnairelist"); //得到questionnairelist数组信息
int count = props.get("Count1"); //get到request1-1里面的Count1数字
// log.info(count);
//log.info(totalcount);
if(totalcount==count) //判断request1-1和totalcount的数字是否相等
{
for(int i = 0 ; i<2;i++) //遍历questionnairelist
{
JSONObject jsonTemp = (JSONObject)questionnairelist.getJSONObject(i); //得到每个questionnairelist的信息
String rowguid = props.get("rowguid1")[i]; //request1-2里的rowguid
String dictrowguid = jsonTemp.get("rowguid").toString(); //得到questionnairelist的rowguid
String questionnairename = props.get("questionnairename1")[i]; //request1-2里的name
String dictquestionnairename = jsonTemp.get("questionnairename").toString(); //得到questionnairelist的name
String is_use = props.get("is_use1")[i]; //request1-2里的use
String dictis_use = jsonTemp.get("is_use").toString(); //得到questionnairelist的use
if(!rowguid.equals(dictrowguid)||!questionnairename.equals(dictquestionnairename)||!is_use.equals(dictis_use)) //如果三个中任意一个不匹配
{
Failure = true;
log.info("不匹配");
break;
}else{
Failure = false;
}
}
}
else
{
Failure = true;
log.info("长度不匹配");
break;
}