自动化学习3:日志记录及测试报告的生成--自动化框架搭建
一.日志记录
1.配置文件pytest.ini:将日志写入文件方便日后查询或查看执行信息。
需要将文件处理器(文件存放位置/时间/格式等等)添加到配置文件中的【日志记录器】
# pytest.ini
[pytest]
# ---------------日志文件,需要配合logging库--------------
# 启动实时监测日志
log_cli = True
# 监测日志的等级显示
log_cli_level = INFO
# 输出日志的显示格式
log_cli_format = %(asctime)s (%(levelname)s) | %(filename)s:%(lineno)s | %(message)s
# 显示日志的时间格式
log_cli_date_format = %Y-%m-%d %H:%M:%S
# 日志文件存放位置
log_file = ./logs/pytest_log.txt
# 文件中显示的日志等级
log_file_level = INFO
# 文件中显示的日志时间格式
log_file_date_format = %Y-%m-%d %H:%M:%S
# 文件中显示的日志格式
log_file_format = %(asctime)s ( %(levelname)s ) %(filename)s:%(lineno)s | %(message)s
2.日志记录
logging配合日志生成更灵活的日志控制或在不同的测试用例中有不同的日志需求
import pytest
import logging # 配合日志记录
@pytest.fixture(scope='module')
def begin():
print('123') # 前置代码,在用例之前自动执行
# 日志
logging.info(f'这是测试用例的info')
logging.warning(f'这是测试用例的warning')
logging.error(f'这是测试用例的error')
yield
print('456') # 后置代码,在用例执行之后自动执行
每次pytest命令执行一次即可生成覆盖
其他优秀文章参考:Pytest 记录日志输出到控制台和写入文件_pytest打印日志-CSDN博客
二.生成测试报告
测试报告的步骤及报错解决:无法将“allure”项识别为 cmdlet、函数、脚本文件或可运行程序的名称的解决方法-allure的安装配置全过程-CSDN博客
1.下载/解压allure安装包/配置 allure环境变量(步骤如上链接)
2.下载allure-pytest插件 pip install allure-pytest(步骤如上链接)
3.修改配置文件pytest.ini
addopts = -v -s --alluredir=./temps --clean-alluredir
# pytest.ini
[pytest]
# --------------------测试报告生成----------
# 1)进行配置环境
# 首先需要进行下载pip install allure-pytest
addopts = -v -s --alluredir=./temps --clean-alluredir
# 2)执行生成命令:allure generate -o report temps
4.执行系统命令
allure generate -o report temps
三.自动化框架:日志记录到测试报告的生成一键生成
import os
import pytest
pytest.main() # 启动框架
os.system('allure generate -o report trmps') # 生成测试报告