在接口测试中,几种验证删除接口操作成功的方法

在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中会显示“删除成功了”,否则会显示“删除没成功”。
 
另外,也可以通过查询数据库来确定事都删除成功了。
备注:转载请注明出处,谢谢!
 
 

 

posted @ 2022-02-17 12:02  高胜寒  阅读(805)  评论(0编辑  收藏  举报