python自动化适应多接口的断言怎么做?

最近做的接口自动化,遇到了很多模块的接口,返回的断言不太相同,在放在unnitest单元测试框架+ddt数据驱动,做参数时,发现不能只通过一个方式进行断言,那么,要怎么做才能做到适配当前所有接口的断言呢?

先举个例子,大部分接口返回的内容,都是json格式,都可以通过相应的key值,进行取值

1. 登录接口,登录成功,会返回一个code

{

  "code":0,

  "msg": "登录成功”

}

2.第二个,新增一样商品的接口的返回报文:

{

  "errcode":0,

  "msg": "新增成功”

  .省略其他内容......

}

可以通过例子,看到这两个对于成功,返回的key值,已经不同了

断言方式:

1. 第一种,对于返回报文简单的,可以采取完全断言

2. 第二种,对于接口返回的内容负责,只能抽取关键的进行断言

实际情况:

目前做的接口,就存在两个情况,要同时兼容这两种情况,进行断言检验

目前的实施方案:

1. 用例数据采用excel进行管理,会有一列校验类型来做区分,分别传入0或具体的key值来做判断,是做完全断言还是取其中的来做断言

2. 对于部分断言,采用的是和jsonpath结合来做,和xpath类似,比较简单易用,比如要取登录成功的code的jsonpath,可以写成是$..code,jsonpath的详细用法,可参考百度。

推荐一篇文件,关于断言:http://testingpai.com/article/1595507145193

总结:

有想法是件好事,没想法,完全下不了手,不妨,多些想法,实现适用的方法。

原文地址:https://www.cnblogs.com/cuitang/p/14819994.html