在接口测试中,几种验证删除接口操作成功的方法
在UI功能测试中,删除了当天的2个日程,再次查询当前日程时,没有查询到已经删除的日程,证明删除成功了。在接口测试中也可以这样验证。
原理:
1、发送一个请求,查询当天所有的日程,记下日程的个数oldNum
2、发送一个请求,删除当天的两个日程
3、发送一个请求,查询当天的日程,记下日程的个数newNum,如果newNum=oldNum-2,说明删除成功了。
下面是在postman中具体的操作方法。
第一步:发送一个请求,查询当天所有的日程,记下日程的个数oldNum
1、将当前日期赋值给环境变量date,并引用这个变量的值,获取当天所有的日程。
在postman中的Pre-request Script 选项卡上,使用函数Math.round(new Date()/1000))返回秒为单位的当前时间戳。然后赋值给变量date。date是环境变量,在目前的环境中,都可以通过{{date}}来使用这个变量。
2、记录下日程的个数
从响应中可以看出日程是存在列表schedules下,如下代码可以记录日程个数。
var oldNum = jsonData.data.schedules.length; #新建一个变量oldNum,记录响应中日程的个数,也就是列表schedules的length。
pm.environment.set("oldNum", oldNum); #将变量oldNum赋值给环境变量oldNum,只有存为环境变量,后续请求才能使用这个变量。
3、记录下待删除日程的id
参考本人的其他博客:使用postman做动态参数关联 https://www.cnblogs.com/gsh-test/p/15901399.html
第二步、发送一个请求,删除当天的两个日程
在请求中引用变量ids0和ids1,删除2个日程。
第三步、发送一个查询当前日程的请求,验证删除成功了
1、从环境变量中获取删除前日程总数 oldNum,并赋值给变量oldNum
var oldNum=pm.environment.get("oldNum");
2、参考第一步,获取删除后的日程总数 newNum
var jsonData = pm.response.json();
var newNum = jsonData.data.schedules.length;
3、比较oldNum和newNum的数值
if (newNum+2 == oldNum ){
tests["删除成功了"]=true
}else{
tests["删除没成功"]=true
}
如果newNum+2 == oldNum,在Response中会显示“删除成功了”,否则会显示“删除没成功”。
另外,也可以通过查询数据库来确定事都删除成功了。
备注:转载请注明出处,谢谢!