日志模块
- 输出日志到terminal
import logging logger = logging.getLogger() logger.setLevel(logging.DEBUG) # 设置日志默认级别 # 输出日志到控制台 console = logging.StreamHandler() # 系统流 包含stdout stderr等信息 logger.addHandler(console) # 这样才能将日志输出到控制台 logger.debug('test debug') console.close() # 需要手动关闭流 logger.removeHandler(console)
- 记录日志到文件,并设置格式
def file_log(): ''' 输出日志到文件 ''' # 文件流 pro_path = os.path.dirname(os.path.abspath(__file__)) log_path = os.path.join(pro_path, "logs/") print(log_path) # D:\pythonDemo\pycWorks\sele-pytest\logs/ time_now = datetime.datetime.now().strftime("%Y-%m-%d") log_file_name = time_now + '.log' log_file_path = log_path + log_file_name file_handler = logging.FileHandler(log_file_path, 'a', encoding='utf-8') # 文件流 to disk files # 定义日志格式(占位符) formatter = logging.Formatter('%(asctime)s %(filename)s %(funcName)s %(levelno)s %(levelname)s ----- %(message)s') # 输出信息:2022-10-07 15:11:55,393 user_log.py file_log 10 DEBUG ----- test filee file_handler.setFormatter(formatter) # 添加文件流 logger.addHandler(file_handler) # 记录日志 logger.debug('test file') # 关闭文件流 file_handler.close() # 移除文件流 logger.removeHandler(file_handler) if __name__ == '__main__': file_log()
- 把上面的代码封装到UserLog类,就可以在case中使用了
- 可以把logger的初始化和流关闭放在unittest的setUpClass和tearDownClass方法内
- 这是在PO+UT+日志模块部分,如果是行为驱动,可以单独在Log类中定义方法实现
持续集成
- 目前case都是在编译器或着终端启动执行的,如何通过浏览器配置直接运行呢?
- 环境搭建
小结
- 前面了解了测试领域的常见概念,包括UT,DDT,PO模型,keyword模型,行为驱动,日志,CI/CD
- 接下来了解一些分布式测试框架开发的内容,框架包含
- web测试
- 接口测试
- 异步并发
- 分布式