python +request 之数据库断言
我们在做接口自动化的时候,到底要不要做数据库断言?
这个没有绝对的答案的,具体根据公司实际业务的需要来。
有条件的,有需求的,就可以加上数据库断言。
(我以前在外包公司待的时候,测试环境中的数据库访问都需要权限申请,层层审批,就没有做数据库断言)
首先:思路:做数据库断言,为了验证某个接口返回数据与数据库中的值是否一致。(例如:添加内容的接口,查询内容的接口)
通过sql语句,访问数据库,查询到对应的那个字段的值,通过assert比较,从而判断接口中的返回参数中的某个值是否正确。(或者,添加的接口内容是否成功存到数据库中)
或者,我们的接口是删除了某个值,数据库中对应的字段是否成功删除。
其次:我们要掌握如何用python 语法操作数据库。(以前我写过这类的博客),
网上转载一篇文章:
https://www.jianshu.com/p/4490957e29ad 详细介绍了
python3使用pymysql操作mysql
再次:在实际使用的时候,我们都会把操作数据库的方法封装成函数或者方法。(增删改查的函数)
这只是简单的使用,临时写的一个函数,先执行两次sql命令,再执行查询。
前面的两个sql语句,可以是:增删改查中任意两种。最后返回查询的结果。
如果返回结果有很多条值,那么,我们可以进行切片,
最后,把切片后的值引入到unittest或者pytest接口自动化测试框架中,进行断言。
这样看来,数据库来断言接口测试,其实也不难。
写过一次就会了。