Pytest-html生成独立的报告以及Python打印日志

大家好,我是杨叔。每天进步一点点,关注我的微信公众号【程序员杨叔】,获取更多测试开发技术知识!

一、Pytest-html生成独立的报告

背景:

使用pytest运行case后,需要生成一个HTML报告,方便查看和分享测试结果。因此需要用到pytest-html。

安装:

pip install pytest-html

生成报告:

pytest xxxx.py --html=report.htm

将报告生成到指定的文件夹目录下:

比如放到testoutput文件夹下,参考命令:

pytest xxxx.py --html=../testoutput/report.html

报告独立显示:

上面方法生成的报告,css是独立的,分享报告的时候样式会丢失,为了更好的分享发邮件展示报告,可以把css样式合并到html里

pytest xxxx.py --html=../testoutput/report.html --self-contained-html

二、Python打印日志

1、使用logging

踩坑日记:要先配置哦,不配置的话,直接import logging, 然后logging.info是不会打印log日志的

正确操作
第一步:pytest.ini文件中添加如下log的配置

[pytest]
log_cli = true
log_cli_level = INFO
log_cli_format = %(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s
log_cli_date_format=%Y-%m-%d %H:%M:%S
log_format = %(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)4s: %(message)s
log_date_format=%Y-%m-%d %H:%M:%S

第二步:直接使用

import logging
logging.info("测试开始啦~~~~~~~")

控制台就会看见日志打印:
Pytest-html生成独立的报告以及Python打印日志
pytest html报告中也能看到:
Pytest-html生成独立的报告以及Python打印日志

2、使用loguru

使用logging是一个较为可行的配置方案了,但是会感觉到有些配置配起来麻烦,尤其是新建一个项目的很多时候懒得去写一些配置,感觉并不是一个优雅的实现方式。有没有log的配置和使用更加简单和方便的第三方库呢?当然有的,就是loguru。

安装
Python3下使用命令:

pip3 install loguru

基本使用

from loguru import logger
logger.info("测试开始啦~~~~")

不需要配置,直接引入logger,然后调用其info方法即可。

2022-02-19 22:46:12.367 | INFO    | __main__:<module>:4 - 测试开始啦~~~~

可以看到其默认的输出格式是上面的内容,有时间、级别、模块名、行号以及日志信息。

如果需要将日志输出到一个log文件里,只需要使用一行代码声明即可。例如将结果输出到一个 logtest.log 文件里面,可以这么写:

from loguru import logger

logger.add('logtest.log')
logger.info('this is a test')

=========================================================
以上,如果对你有帮助,

欢迎搜索关注我的微信公众号【程序员杨叔】,免费了解获取更多测试相关干货内容资料,一起交流学习~

上一篇:SQL Server高级进阶之表分区删除


下一篇:mysql基础入门总结----聚类函数,汇总,分组筛选,ROLLUP