Pytes正确的配置使用日志功能

作者:redrose2100 时间:2023-07-18 05:51:17 

在pytest自动化测试中,如果只是简单的从应用的角度来说,完全可以不去了解pytest中的显示信息的部分以及原理,完全可以通过使用推荐的pytest.ini配置,从而可以做到相对来说比较通用的日志配置。
这里我们推荐使用如下配置,其中log_cli 相关的四条配置是用来配置live log即实时日志的,而其他三条配置则是用例配置capture log即捕获日志的。分别对他们的日志级别、日志格式、时间戳格式进行了设置,比如这里日志级别都设置为info,当然如果脚本稳定之后,提交自动化测试代码仓库时可以将日志级别调整为warning。

[pytest]
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_level = info
log_format = %(asctime)s | %(levelname)s | %(filename)s:%(lineno)s | %(message)s"
log_date_format = %Y-%m-%d %H:%M:%S

下面用一个简单的测试脚本来展示一下上述日志配置的效果。

import logging

def test_demo():
   logging.debug("this is debug log ...")
   logging.info("this is info log ...")
   logging.warning("this is warning log ...")
   logging.error("this is error log ...")
   logging.critical("this is critical log ...")
   assert 1==2

执行结果如下,可以看出这里显示了实时日志(live log),同时未显示debug级别的日志,捕获日志(capture log)同样也未显示debug级别的日志,而且时间戳和日志格式相对来说都是比较符合实际应用的,因此这里的推荐的pytest.ini中对日志的配置,完全可以拿去直接使用。

(demo-HCIhX0Hq) E:\demo>pytest
=================== test session starts ===================
platform win32 -- Python 3.7.9, pytest-7.2.0, pluggy-1.0.0
rootdir: E:\demo, configfile: pytest.ini
plugins: assume-2.4.3, rerunfailures-10.2
collected 1 item

test_demo.py::test_demo
---------------------- live log call ----------------------
2022-12-06 00:42:06 | INFO | test_demo.py:5 | this is info log ..."
2022-12-06 00:42:06 | WARNING | test_demo.py:6 | this is warning log ..."
2022-12-06 00:42:06 | ERROR | test_demo.py:7 | this is error log ..."
2022-12-06 00:42:06 | CRITICAL | test_demo.py:8 | this is critical log ..."
FAILED                                               [100%]

======================== FAILURES =========================
________________________ test_demo ________________________

def test_demo():
       logging.debug("this is debug log ...")
       logging.info("this is info log ...")
       logging.warning("this is warning log ...")
       logging.error("this is error log ...")
       logging.critical("this is critical log ...")
>       assert 1==2
E       assert 1 == 2

test_demo.py:9: AssertionError
-------------------- Captured log call --------------------
2022-12-06 00:42:06 | INFO | test_demo.py:5 | this is info log ..."
2022-12-06 00:42:06 | WARNING | test_demo.py:6 | this is warning log ..."
2022-12-06 00:42:06 | ERROR | test_demo.py:7 | this is error log ..."
2022-12-06 00:42:06 | CRITICAL | test_demo.py:8 | this is critical log ..."
================= short test summary info =================
FAILED test_demo.py::test_demo - assert 1 == 2
==================== 1 failed in 0.07s ====================

(demo-HCIhX0Hq) E:\demo>

来源:https://blog.csdn.net/redrose2100/article/details/128195838

标签:Pytes,日志,配置
0
投稿

猜你喜欢

  • 如何实现全文检索?

    2010-05-24 18:24:00
  • IE6浮出层穿透解决方案中的iframe高度自适应

    2009-10-30 18:08:00
  • Numpy 理解ndarray对象的示例代码

    2023-07-17 00:56:20
  • python爬虫模拟登录之图片验证码实现详解

    2022-06-30 00:07:29
  • el-input无法输入的问题和表单验证失败问题解决

    2024-04-09 10:48:37
  • Pytorch实现的手写数字mnist识别功能完整示例

    2022-10-15 23:38:22
  • Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式

    2021-01-07 20:38:33
  • 细品Dreamweaver MX 2004内建FW技术

    2010-09-02 12:38:00
  • 在Python程序员面试中被问的最多的10道题

    2022-02-27 08:20:03
  • Python入门之modf()方法的使用

    2023-02-27 10:11:53
  • 去掉前面的0的sql语句(前导零,零前缀)

    2024-01-25 22:25:23
  • Python 机器学习工具包SKlearn的安装与使用

    2023-11-10 13:13:05
  • 简单谈谈axios中的get,post方法

    2023-10-05 08:47:53
  • MySQL数据库JDBC编程详解流程

    2024-01-15 09:39:55
  • Python接口自动化浅析数据驱动原理

    2022-02-22 21:52:01
  • python3图片转换二进制存入mysql

    2023-05-18 07:06:50
  • 深入剖析SQL Server的六种数据移动方法

    2009-01-07 14:09:00
  • 基于python实现高速视频传输程序

    2022-04-01 02:14:17
  • 解决Jupyter Notebook使用parser.parse_args出现错误问题

    2023-05-09 17:41:42
  • css中浮动思考与小结

    2008-10-30 11:57:00
  • asp之家 网络编程 m.aspxhome.com