一、查缺补漏
1. 在测试报告中添加注释,写在类名下面就行,方法名下面,三引号
2. 直接import ddt引用的时候需要ddt.ddt, ddt.data, ddt.unpack
from ddt import ddt,data,unpackkeyi from会更好,引用的时候直接data就行
二、DDT数据驱动
1. 数据驱动:将不同的数据在同一个业务逻辑上运行,只需写一个测试用例获取改变项,就可以完成测试文档
2. 使用:
a. 安装DDT(Data Driven Tests) pip install ddt
b. 语法:ddt只能对可迭代对象进行解包,像元组和列表,不可以用于字典解包,字典用zip
from ddt import ddt,data,unpack 从ddt库种导出ddt,data,unpack函数
在测试类上使用@ddt
在测试函数上使用@data(*case_data),进行数据解压,然后每一个元素传入测试函数
c. @data():解压一层
@unpack(): 解压多层
d. 用于取值做接口测试
三、日志
1. 日志模块
a. 日志作用:日志记录程序的执行过程
b. 日志要素
i. 日志渠道:日志输出位置,文件,控制台,用来收集日志的
ii. 日志级别:info、debug、error 我们经常用的
iii. 日志格式:日志的样子,类似于报错提示哪一行
iv. 日志内容:自己输出的内容,或者是报错信息
2. 日志级别(debug a. debug:代码调试的输出,不希望别人看到的日志
b. info:表示程序正常执行的输出
c. warning:不影响程序执行,可以优化,提示你
d. error:程序执行报错
e. critical:程序严重问题
f. 修改root收集器的日志级别:logging.basicConfig(level=logging.级别) 设置日志级别
3. 日志收集器创建
a. 创建日志收集器:创建和root一样的收集器
test_log = logging.getLogger(name=’日志渠道的名称’) 日志渠道的名称一般是与项目名称一致
b. 创建日志收集渠道:输出到哪里
实例化名称1 = logging.StreamHandler() 创建日志控制台渠道,需要实例化
c. 创建日志格式 fmt是参数,参数可以做名字,但是关键字不可以,紫色是参数 格式解释在图片里
格式名 = ‘【%(asctime)s-%(name)s-%(levelno)s-%(levelname)s-%(pathname)s-%(lineno)d】:%(message)s’
格式接收名 = logging.Formatter(fmt = 格式名)
测试中的值传给了message
d. 设置日志输出格式【渠道】实例化名称1.setFormatter(fmt =格式接收名) 实例化名称1.setLevel(logging.级别) 渠道级别
e. 设置日志级别【收集器】test_log.setLevel(logging.级别) 一般只设定一个
f. 收集器绑定渠道 test_log.addHandler(实例化名称1)
4. 日志切割 将日志收集到文件中方便收集 日志会叠加在文件中
handlers.RotatingFileHandler():按文件大小切日志【了解】
handlers.TimedRotatingFileHandler():按时间切日志【掌握】
filename:日志文件名称,要带路径,默认是当前目录
when=’h’,:日志滚动周期的单位,S:秒, M:分钟 ,H:小时, D:日, W:周, midnight:日期
interval=1:滚动周期(日志切割周期),1 间隔多个个when
backupCount=0:日志保留的个数
encoding=None:编码格式
5. 函数封装日志,一般调用日志函数的实例化对象,不直接调用函数
四、一些小记
1. 实例化名 = logging.getLogger() 实例化接收,里面没有内容打印出来没有内容None 用于日志
2. 报缺少self字段时多半是实例化问题,后面没写括号
3. 不想显示None把print去掉就好
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net