参考地址:https://www.cnblogs.com/landhu/p/9910460.html
https://www.cnblogs.com/gmjianchi/p/13039376.html
测试代码
#coding: utf-8 import time from venv import logging import allure import pytest ''' 加减乘除测试 ''' class TestCalculate: ####################### 加法测试用例 ####################### @allure.title("用例标题0") @allure.story("这里是第一个二级标签") @pytest.mark.plus def test_Plus_1and1(self): time.sleep(0.034) assert 1 + 1 == 3 @pytest.mark.plus def test_Plus_2and2(self): logging.info("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") logging.error("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") logging.debug("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") print("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb") time.sleep(0.024) assert 2 + 2 == 4
实时输出print 日志
执行pytest的时候加上:可以用‘-s’参数或者 ‘--capture=no’
pytest -s
# 或者
pytest --capture=no
实时输出logging打印的日志
方法一、项目根目录或pytest运行目录添加pytest.ini(或者:tox.ini、setup.cfg)文件,内容如下:
[pytest] log_cli = 1 log_cli_level = INFO log_cli_format = %(asctime)s [%(levelname)8s] %(message)s (%(filename)s:%(lineno)s) log_cli_date_format=%Y-%m-%d %H:%M:%S
方法二
直接用pytest -o方式重写,这个功能在pytest 3.4之后才实现,如下:
pytest -o log_cli=true -o log_cli_level=INFO
实际在项目过程中,实时日志需要时间及文件名还有行号,可在后面加这样的参数:
-vv -o log_cli=true -o log_cli_level=INFO --log-date-format="%Y-%m-%d %H:%M:%S" --log-format="%(filename)s:%(lineno)s %(asctime)s %(levelname)s %(message)s"