一.安装
命令行:pip install pytest #安装test
pip install pytest-html #安装报表生成插件
二.运行规则:
1.测试代码文件名 格式如下 test_文件名/文件名_test
2.匹配运行test_函数名
3.匹配运行Test_类名下的test_方法名
4.Python 中用 assert 断言
三.运行命令行
1.pytest -s #执行当前目录下所有符合条件的文件、类、函数并显示测试代码的打印内容
2.pytest -sv #执行当前目录下所有符合条件的文件、类、函数并显示代码运行更详细的内容
3.pytest -k 类名/模块文件名/目录名 -s #执行指定类名/模块文件名/目录名 的测试用例
pytest -k "not 666" -s #执行名字不包含指定666的测试用例
pytest -k " 22 and 33" -s #执行名字包含"22"并且包含"33"的测试用例
pytest -k "22 or 33" -s #执行名字包含"22"或者包含"33"的测试用例
4.pytest 目录路径 #执行目标目录下测试用例
pytest 目录路径1 目录路径2 #执行多目标目录下测试用例
pytest 目录路径\test_*.py #执行目标目录下指定文件测试用例
pytest 目录路径\test_*.py::Test_* #执行目标目录下指定文件中指定类的测试用例
pytest 目录路径\test_*.py::Test_*::test_* #执行目标目录下指定文件中指定类的指定测试用例
5.某个方法/类加上标签 webtest
在方法/类的上一行同等级位置加上@pytest.mark.标签名
pytest 路径 -m 标签名 -s #执行指定路径下指定标签名
6.pytest 目录路径1 --html=测试报告名1.html --self-contained-html #在目录路径1下生成名为测试报告名1的html报告文件,会有中文乱码的话可以去看我的另一篇里面有详细解决办法pytest自动化框架pytest-html导出报告中中文乱码解决办法_抬头看见阳光的博客-CSDN博客pytest,自动化,pytest_html,中文乱码,3.2.0版本https://blog.csdn.net/weixin_49422113/article/details/129935474?spm=1001.2014.3001.5501
四.初始化清除
1.模块级别的初始化
setup_module和teardown_module在整个模块用例执行前后各执行1次,作为模块的公共初始化和清除
2.类级别初始化
setup_class 和 teardown_class 在整个类用例执行前后各执行1次,作为类的公共初始化和清除
3.方法级别
setup_method 和 teardown_method 在整个模块每个用例执行前后分别执行1次
4.目录级别(不推荐使用,有问题)
五.数据驱动(待更新)