最近写了一个接口自动化程序,还没有转化成平台。
数据来源是数据库,报告输出是excel,用unitest框架写的;和悠悠的接口自动化不同点是,增加了传参,入参的自动调用,增加了自动登录,增加了日志输出;后续再增加excel自动换行,加粗等;不足点不能实现和数据库数据对比
代码经验总结:
python基础的东西要多看看,有孩子和抖音,一直没时间再看看;
从数据库取出来的数据是数组形式的
str转字典用ast.literal_eval()、json.load()函数(要是字典形式的str)
转成json 字典形式的,用json.jump()
字典方法;dict.del(key),删除字典里的一对键-值
dict.pop(key),返回删除字典的键值对
dict.update(dict),更新字典。但不能理解赋值,不能a = dict.update(dict);觉得字典的update优先于赋值
v= {} 。v["key"] = value,组成一个新的字典
字典还有一些方法,fromkeys()创建一个新的字典,dict.get(),dict.setdefault获取字典的值
dict.value(),返回字典里的所有的值,dict.key()返回字典里的所有的键
字符串:
把列表(含有int型)转为str用 “,”.join(‘%s ‘ %id for id in a);“,”以,分割为一个字符
request.post(url,body,header);body是data型的,传字典,是json型的,传json型的字典,url传字符,header传字典形式
unittest+ddt数据驱动,传给ddt的是字典数组,ddt分解出一个个字典形式,report报告用unittest自带的HTMLTestRunner_api.
sql执行的时候,id不能为int型
有个不能解决的问题,从ddt获取的data是字典型的,传的被调用的类模块中变成了字典,我把这个类模块换成了函数,传过来的参数又是字典了;没有深究,不知道怎么回事??
后续能写出类继承和装饰器,然后能编出特别好的框架和写个自动化平台,就very good!
原文地址:https://www.cnblogs.com/ymlearningword/p/11448113.html