当前位置: 首页 > news >正文

自动化学习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')yieldprint('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 pytestpytest.main() # 启动框架os.system('allure generate -o report trmps') # 生成测试报告

http://www.lryc.cn/news/450982.html

相关文章:

  • 【STM32单片机_(HAL库)】4-1【定时器TIM】定时器中断点灯实验
  • Linux编译安装Mysql笔记
  • 在java后端发送HTTPClient请求
  • 【STM32单片机_(HAL库)】4-3-2【定时器TIM】测量按键按下时间1——编程实现捕获功能
  • MySQL:2059 - Authentication plugin ‘caching_sha2_password‘ cannot be loaded
  • 【JavaSE】反射、枚举、lambda表达式
  • P3227 [HNOI2013] 切糕
  • 超分服务的分量保存
  • Windows11系统下SkyWalking环境搭建教程
  • 前端BOM常用操作
  • 【Go】-viper库的使用
  • JavaWeb酒店管理系统(详细版)
  • C++ | 定长内存池 | 对象池
  • python画图|自制渐变柱状图
  • 基于RPA+BERT的文档辅助“悦读”系统 | OPENAIGC开发者大赛高校组AI创作力奖
  • K8S部署流程
  • DevExpress WinForms中文教程:Data Grid - 如何添加或删除行?
  • u盘格式化后数据能恢复吗?2024年Top4恢复神器来帮忙
  • 深度学习·Argparse
  • 制造企业为何需要PLM系统?PLM系统解决方案对制造业重要性分析
  • http协议中的header详细讲解
  • 探索后量子安全:基于格加密技术的未来密码学展望
  • WPF之UI进阶--完整了解wpf的控件和布局容器及应用
  • unity一键注释日志和反注释日志
  • VBA数据库解决方案第十五讲:Recordset集合中单个数据的精确处理
  • 甄选范文“论软件需求管理”,软考高级论文,系统架构设计师论文
  • Android Studio Dolphin 中Gradle下载慢的解决方法
  • Excel实现省-市-区/县级联
  • 【优化代码结构】函数的参数归一化
  • CSS中height设置100vh和100%的区别