微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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报告中也能看到:

在这里插入图片描述

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')

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐