Pytes正确的配置使用日志功能
作者:redrose2100 发布时间:2023-07-18 05:51:17
标签:Pytes,日志,配置
在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


猜你喜欢
- 在《python深度学习》这本书中。一、21页mnist十分类导入数据集from keras.datasets import mnist(t
- 介绍pandas数据聚合和重组的相关知识,仅供参考。1GroupBy技术1.1简介简介:根据一个或多个键进行分组,每一组应用函数,再进行合并
- 在上一篇文章中,我们介绍了如何使用源码对TensorBoard进行编译教程,没有定制需求的可以直接使用pip进行安装。TensorBoard
- Scrapy是什么?先看官网上的说明,http://scrapy-chs.readthedocs.io/zh_CN/latest/intro
- 前言在前面的分享中,我们制作了一个天眼查 GUI 程序,今天我们在这个的基础上,继续开发新的功能,微博抓取工具,先来看下最终的效果整体的界面
- 本文实例讲述了Symfony2框架创建项目与模板设置的方法。分享给大家供大家参考,具体如下:环境准备与概览习惯于在windows使用netb
- css实现的圆角矩形的方式很多,但要追求灵活型,上面的结构简单,看起来爽一点注意css所用的图片路径,已修改兼容ie6 ie7 ff ,IE
- 这篇文章我们来讲讲如何在python使用bs4模块返回值中正确使用find和find_all来取值。我们先来看看find函数在两种场景使用:
- 在JavaScript前端开发工作中,由于浏览器兼容性等问题,我们会经常用到“停止事件冒泡”和“阻止浏览器默认行为”。1..停止事件冒泡//
- 注:所谓n位数“水仙花数”是指一个n数,其各位数字n次方和等于该数本身。如三位数“水仙花数”是指一个三位数,其各位数3次方和等于该数本身。一
- 使用Tkinter模块来创建简单的GUI程序。Tkinter的Widgets有:Button、Canvas、Checkbutton、Entr
- 很多时候,查看一个文件夹下的每个文件大小可以轻易的做到,因为文件后面就是文件尺寸,但是如果需要查看一个文件夹下面所有的文件夹对应的尺寸,就发
- 1、半开放socket利用shutdown()函数使socket双向数据传输变为单向数据传输。shutdown()需要一个单独的参数,该参数
- sql_mode="",即强制不设定MySql模式(如不作输入检测、错误提示、语法模式检查等)应该能提高性能,但有如下问
- JavaScript本身作为一门简单的语言,就其变量作用域问题一样令不少人头晕,这主要是因为JavaScript闭包的存在。本文不打算深入讲
- 本文实例讲述了Python使用type动态创建类操作。分享给大家供大家参考,具体如下:使用type动态创建类动态语言和静态语言最大的不同,就
- 自定义可迭代的类列表可以获取列表的长度,然后使用变量i对列表索引进行循环,也可以获取集合的所有元素,且容易理解。没错,使用列表的代码是容易理
- XPath(XML Path language)是一种处理XML文档段的语言。XSLT(Extensible Stylesheet Lang
- asp禁止站外盗链,站外提交方法、以及asp判断星期几方法.防盗链,主要通过判断上一页面来源是否是本站来实现的,不是本站的链接就
- 前言树是数据结构中非常重要的一种,主要的用途是用来提高查找效率,对于要重复查找的情况效果更佳,如二叉排序树、FP-树。另外可以用来提高编码效