目 录
一、安装pytest
# 下载
pip install pytest
# 查看安装pytest的版本
pytest --version
二、用例编写
- 1、用例文件:所有文件名为 test_ 开头 或者 _test 开头的文件会被识别为用例文件。
- 2、用例类:测试文件中每个 Test 开头的类就是一个测试用例类。
- 3、用例函数:测试类中每个 test 开头的方法就是一条测试用例,测试文件中每个 test 开头的函数也是一条测试用例
三、执行用例
1、执行参数
参数 -v : 显示测试的详细参数信息
pytest -v XXX
参数 -s: 显示测试执行的输出信息
pytest -s XXX
2、pytest.main 执行的参数传递
pytest.main(['-v','-s']) # 每个参数就是列表中的一个元素
3、指定执行的测试目录
命令 pytest 测试目录路径
pytest testcase/
pytest 会执行指定目录路径下所有的测试用例
4、指定执行的测试文件
命令 pytest 测试文件路径
pytest testcase/test_demo1.py
pytest 会执行指定测试文件中下所有的测试用例
5、指定执行的测试类
命令 pytest 测试文件::测试类
pytest testcase/test_demo1.py::TestClass
pytest 会执行指定测试类里面所有的测试用例
6、指定执行的测试用例
命令 pytest 测试文件::测试类::测试方法
pytest testcase/test_demo1.py::TestClass::test_method
四、给用例打标签
参考文章1:
pytest 给用例打标签
参考文章2:
Python 测试框架之 pytest框架详解
1、给用例添加自定义标签命令:
@pytest.mark.tagname
2、根据标签运行测试用例:
pytest -m tagname
3、pytest注册标签的两种方法
因为自定义的标签没有注册,所以在运行时会出现警告的信息
- 注册pytest.ini文件(在当前目录创建pytest.ini文件)
- 写到conftest.py(在命令行当前目录下创建conftest.py)
五、pytest 的setup/teardown方法
模块级别(setup_module/teardown_module)、
函数级别(setup_function/teardown_function)、
类级别(setup_class/ teardown_class)、
方法级别(setup_method/teardown_methond或者setup/teardown)。
六、查看测试用例树pytest --collect-only
参考文章:
pytest用例执行
测试用例以test_*开头,并且测试类不能有__init__方法
#打印测试目录下匹配到的所有用例
pytest --collect-only
# 文件格式
--collect-format=yaml#
# 文件结果
--collect-output-file="result.txt"