详解Pytest测试用例运行模式
1、主函数模式
(1)运行所有:
pytest.main()
(2)指定模块:
pytest.main(['-s','-v','testCase/test_03.py'])
(3)指定目录:
pytest.main(['-s','-v','testCase])
(4)通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组成
pytest.main(['-s','-v','testCase/test_03.py::test01'])
pytest.main(['-s','-v','testCase/test_03.py::TestWord::test02'])
2、命令行模式
(1)运行所有:pytest
(2)指定模块 pytest -vs ./testcase/test_01.py
(3)指定目录 pytest -vs ./testcase
(4)通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组成
pytest -vs ./interface_testcase/test_03.py::test01
pytest -vs ./interface_testcase/test_03.py::TestLogin::test02
参数详解:
-s:表示输出调试信息,包括print打印的信息
-v:显示更详细的信息
-vs:可以放在一起使用
3.通过读取pytest ini配置文件运行 (最主要运用的方式)
#pytest.ini是pytest单元测试框架中的核心配置文件
(1)位置:一般是放在项目的根目录
(2)编码:必须是ANSI,可以使用notepad++来修改编码格式
(3)作用:改变pytest的默认行为
(4)运行的规则:不管是主函数的模式运行该,命令行模式,都会区读取这个配置文件,注意实际项目中不要添加注释
1 2 3 4 5 6 |
|
4.pytest fixture
pytest支持xUnit格式型的测试模型(setup/teardown),四种级别
(1)模块级别:使用setup_module 和 teardown_module
(2)函数级别:使用setup_function 和 teardown_function
(3)类级别:使用setup_class 和 teardown_class
(4)方法级别:使用setup_method 和 teardown_method
5.fixture scope的范围参数
使用@pytest.fixture(scope='module')来定义框架,关于scope的参数有以下几种。
function 每一个用例都执行
class 每个类执行
module 每个模块执行(函数形式的用例)
session 每个session只运行一次,在自动化测试时,针对于登录步骤可以使用该session定义