java中的接口是类吗
657
2022-08-28
pytest之添加日志:pytest测试框架有自己的日志管理开关(pytest生成测试日志保存)
前言
保存工作中常用的日志一般来说有两种方式。
①pytest测试框架有自己的日志管理开关。(如果开启pytest测试框架的日志功能,则pytest命令行方式运行测试用例时,在Terminal终端同样会打印日志信息。)
【注意】同时满足①开启pytest测试框架的日志功能②使用python的日志库两个条件,Terminal终端打印的日志格式以及日志级别是我们在log模块中设置的格式。
log_cli参数为true:
log_cli参数为false:
②使用python的日志库。(一般使用此种方式记录用例执行期间的日志)
【注意】当单独运行单个模块的测试用例时,日志内容会根据log配置模块中设置的日志格式以及级别来打印或者保存(比如log等级为error会打印至控制台,log等级为info会保存至log文件),而命令行方式运行时,
一般来说,在测试用例的执行过程中日志记录没有实时输出或者保存至日志文件。显得测试用例的执行结果不够权威。(根据日志的级别将日志分发至不同的终端)
【注意】在项目中应用:①log设置模块;②pytest测试框架日志log_cli参数为true。(这样保证不管是单独运行某个模块的测试用例或者是pytest命令行方式运行测试用例都可以在控制台或者Terminal终端查看到相应的日志信息)
pytest测试框架关于log的命令行参数如下:
--no-print-logs disable printing caught logs on failed tests. --log-level=LOG_LEVEL logging level used by the logging module --log-format=LOG_FORMAT log format as used by the logging module. --log-date-format=LOG_DATE_FORMAT log date format as used by the logging module. --log-cli-level=LOG_CLI_LEVEL cli logging level. --log-cli-format=LOG_CLI_FORMAT log format as used by the logging module. --log-cli-date-format=LOG_CLI_DATE_FORMAT log date format as used by the logging module. --log-file=LOG_FILE path to a file when logging will be written to. --log-file-level=LOG_FILE_LEVEL log file logging level. --log-file-format=LOG_FILE_FORMAT log format as used by the logging module. --log-file-date-format=LOG_FILE_DATE_FORMAT log date format as used by the logging module.
还有一行:
[pytest] ini-options in the first pytest.ini|tox.ini|setup.cfg file found:
具体操作
①首先pytest测试框架是从pytest.ini中读取log_cli配置的,默认是关闭的即false。【log_cli参数为true代表开启pytest测试框架自己的日志功能,为false表示关闭。】
②在文件根目录下新建一个pytest.ini或tox.ini或setup.cfg文件,然后将日志相关写入,如下:
[pytest]log_cli=true ; # 开启日记log_level=NOTSET ; # 日志等级log_format = %(asctime)s %(levelname)s %(message)s # 日记日期log_date_format = %Y-%m-%d %H:%M:%S # 日记时间addopts = -vs # 日志执行的命令log_file = ./test.log # 日志存放地方log_file_level = info # 记录日志等级log_file_format = %(asctime)s %(levelname)s %(message)s # 同记录时间一样log_file_date_format = %Y-%m-%d %H:%M:%S
③可以使用用pytest -o方式重写(即覆盖ini文件中的log相关的命令行参数);这个功能在pytest 3.4版本之后才实现,如下:
pytest pytest_lean2.py -o log_cli=true -o log_cli_level=INFO
去期待陌生,去拥抱惊喜。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~