配置文件pytest.ini
- pytest.ini是什么?
- pytest.ini是pytest的主配置文件,可以改变pytest的默认行为,有很多可配置的选项。
- 在执行文件根目录配置pytest.ini文件。
- 日志的作用:
- 我们可以借助日志帮忙调试程序;
- 借助日志做监控报警。
- pytest 支持
- 自动捕获WARNING级别或更高级别的日志消息,并以与捕获的stdout和stderr相同的方式将它们显示在每个失败的测试输出信息中
- pytest先从pytest.ini中读取log_cli配置的,默认是关闭的
新建report和logs目录
- 新建目录
- report
- logs
配置日志
- 通过将log_cli配置设置为true或1,pytest 将输出日志记录到控制台。
[pytest]
log_cli = 1
log_cli_level = INFO
log_cli_date_format = %Y-%m-%d-%H-%M-%S
log_cli_format = %(asctime)s - %(filename)s[line %(lineno)d] - %(funcName)s - %(levelname)s - %(message)s
配置日志执行目录和文件名称
- 将整个测试产生的日志记录一个文件中,此日志文件以写入模式打开,每次运行测试都会覆盖上一次测试日志
log_file = ../logs/test.log
log_file_level = INFO
log_file_date_format = %Y-%m-%d-%H-%M-%S
log_file_format = %(asctime)s - %(filename)s[line %(lineno)d] - %(funcName)s - %(levelname)s - %(message)s
配置执行目录、文件名称规则
- testpaths:指示pytest访问路径。
- testpaths是一系列相对于根目录的路径,用于限定测试用例的搜索范围。
- 只有在pytest未指定文件目录参数或测试用例标识符时,该选项才有作用
- 示例:
- testpaths = ./testcasecode/
- python_files = test_*_v7.py
addopts更改默认命令行选项
- addopts:更改默认命令行选项。
- pytest用命令行运行时,有时候需要经常要用到某些参数,又不想重复输入,这时可以使用pytest.ini文件里的addopts设置
- 示例:
- addopts = --reruns 2 --reruns-delay 3 --html=./report/report.html --self-contained-html
命令行运行pytest
- 命令行切换到aiseproject2目录,输入pytest命令运行
D:\PycharmProjects\aiseProject2>pytest
============== test session starts ==========
platform win32 -- Python 3.9.5, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
sensitiveurl: .*
rootdir: D:\PycharmProjects\aiseProject2, configfile: pytest.ini, testpaths: ./testcasecode/
collected 10 items
testcasecode/test_后台_双创_基础设置_赛区管理_添加赛区_case_v7.py::TestAddDivision::test_add_division[A-……f] PASSED [ 10%]
testcasecode/test_后台_双创_基础设置_赛区管理_添加赛区_case_v7.py::TestAddDivision::test_add_division[-……f] PASSED [ 20%]
……
testcasecode/test_后台_双创_基础设置_赛区管理_添加赛区_case_v7.py::TestAddDivision::test_add_division[-……f] PASSED [ 100%]
-------------- generated html file: file://D:\PycharmProjects\aiseProject2\report\report.html -----
========= 10 passed in 636.55s (0:10:36) ================
查看报告文件
- report:report.html