大家好,我是杨叔。每天进步一点点,关注我的微信公众号【程序员杨叔】,获取更多测试开发技术知识!
一、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')
=========================================================
以上,如果对你有帮助,
欢迎搜索关注我的微信公众号【程序员杨叔】,免费了解获取更多测试相关干货内容资料,一起交流学习~