一捏鱼、思路
要進(jìn)行接口返回?cái)?shù)據(jù)與數(shù)據(jù)庫(kù)查詢結(jié)果的比對(duì)需要將要比對(duì)的數(shù)據(jù)從接口返回結(jié)果和數(shù)據(jù)庫(kù)查詢結(jié)果中取出但荤,利用beanShell斷言進(jìn)行比對(duì)判斷
1邢锯、從接口返回結(jié)果取比對(duì)數(shù)據(jù):利用正則表達(dá)式提取器
2谍珊、從數(shù)據(jù)庫(kù)查詢結(jié)果中取比對(duì)數(shù)據(jù):利用beanShell后置處理器
3、比對(duì):利用beanShell斷言
二右犹、準(zhǔn)備工作
1提澎、HTTP請(qǐng)求
紅線標(biāo)出的為需要取出的數(shù)據(jù)
2、JDBC Connection Configuration (sqlserver數(shù)據(jù)庫(kù))
3念链、JDBC 請(qǐng)求虱朵,將查詢結(jié)果保存在res對(duì)象中
4、添加監(jiān)控:察看結(jié)果樹(shù)钓账,斷言結(jié)果
三碴犬、取數(shù)據(jù)
1、利用正則表達(dá)式提取器從接口返回結(jié)果中提取需要比對(duì)的數(shù)據(jù)
紅線框出的地方為比對(duì)數(shù)據(jù)的左邊界和右邊界
2梆暮、利用beanShell后置處理器取出需要比對(duì)的數(shù)據(jù)庫(kù)查詢結(jié)果數(shù)據(jù)
代碼:
columnValue = vars.getObject("res").get(0).get("advPicUrl"); //從數(shù)據(jù)庫(kù)select結(jié)果中取出advPicUrl列的第一行值服协,第一行index從0開(kāi)始算get(0)
vars.put("advPicUrl",columnValue); //將取出的值賦給變量advPicUrl```
3、利用beanShell斷言進(jìn)行結(jié)果比對(duì)
![斷言比對(duì)結(jié)果](http://upload-images.jianshu.io/upload_images/2726453-3d99e4b0455eaefd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
代碼:
if("${homePageUrl}".equals("${advPicUrl}")) //數(shù)據(jù)庫(kù)的取值與接口正則取值比對(duì)
{
System.out.println("OK");
}
else
{ System.out.println("fail");
}```
四啦粹、結(jié)果查看
1偿荷、添加Debug Sampler查看變量
2窘游、結(jié)果樹(shù)中2個(gè)變量值