參考地址: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"