版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_44530778/article/details/86672474
先简要做个记录,框架成型后会放出全部的思路,都是来自于工作实践,方便、适合自己、能够提高测试接口自动化测试效率就是好的!
1、测试什么最重要,当然是证据了,有图为证不再担心立的flag。接口测试与功能测试不同,接口测试留下每个case执行过程的日志记录,将接口请求地址、入参、出参等全都打印在日志里,发现问题也方便查找。
2、因此,首先封装记录日志的代码。
import time
import os
import logging
import datetime
#日志类
class Log:
#创建日志记录所需要的文件夹
def test_dir(self):
curDir = datetime.datetime.now().strftime('%Y-%m-%d')
#在上一级relust目录下创建log目录,并以当前日期命名日志文件夹
path = '../result/log/' + curDir
# 去掉首尾空格
path = path.strip()
# 去掉尾部\符号
# path = path.rstrip("\\")
# print(path)
isExists = os.path.exists(path)
if not isExists:
#创建以当前日期命名的文件夹,如果父目录不存在也一并创建makedirs
os.makedirs(path)
#返回目录地址
return path
else:
return path
#记录接口请求输出日志
def test_log(self,flieName,resMsg):
#调用创建目录的方法
#Log.test_dir(self)
#使用test_dir()方法中返回的path属性值
path = Log.test_dir(self)
logging.basicConfig(level=logging.INFO, # 控制台打印的日志级别
filename=path + '/' + 'data.log',#指定文件存储的路径以及文件名
# filename='./'+'data.log',
filemode='a', ##模式,有w和a,w就是写模式,每次都会重新写日志,覆盖之前的日志a是追加模式,默认如果不写的话,就是追加模式
# 日志格式
format=
'%(asctime)s - %(levelname)s: %(message)s'
)
logger = logging.getLogger(__name__)
#记录执行文件名称
logger.info(flieName)
#记录接口请求参数与响应参数
logger.info(resMsg)
总结:
1、判断目录是否存在?不存在则创建,父目录一并创建
2、同一class中不同方法之间的引用
3、记录日志使用python内置的标准模块logging,日志记录级别分DEBUG/INFO/WARNING/ERROR/CRITICAL/FATAL,设置级别及以上级别的日志全记录
4、同一个class下不同方法间属性值的使用