一、Pytest命名规则
模块名称必须以test_开头或者_test结尾
测试类必须以Test开头,并且不能由init方法
测试方法必须以test开头
二、运行方式
主函数模式
(1)运行所有:pytest.main()
(2)指定模块:pytest.main(['-vs','模块名'])
(3)指定目录:pytest.main(['-vs','./目录名称'])
(4)通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组成
命令行模式
(1)运行所有:pytest.main()
(2)指定模块:pytest.main(['-vs','模块名'])
(3)指定目录:pytest.main(['-vs','./目录名称'])
(4)通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组成
通过读取pytest.ini配置文件运行
pytest.ini文件是pytest单元测试框架的核心配置文件
位置:一般位于项目的根目录
编码:必须是ANSI,可以使用notpad++修改编码格式
作用:改变pytest默认的行为
运行规则:不管是主函数的模式运行,命令行模式运行,都会去读取这个配置文件
[pytest]:配置文件头信息,不可丢
[pytest]
addopts :命令行参数
addopts := -s -v --html=../report/report.html
python_paths :定义测试用例文件夹名称,只有名称testcase文件夹下面的测试文件才会被pytest执行
python_paths = testcase
python_files:定义测试用例所在的文件,只有文件名称是以test开始的文件才会被pytest执行
python_files=test_*.py
python_classes:定义测试用例文件中类的名称,只有以Test开始的类会被执行
python_classes=Test*
python_functions = test:定义函数或方法的名称,只有以test开始的函数或方法才会被pytest执行
python_functions = test
markers=
smoker:冒烟用例
usermanage:用户管理模块
参数详解:
-s:表示输出调试信息,包括print打印的信息
-v:显示更详细的信息
-vs:这两个参数一起用
-n:支持多线程或者分布式运行测试用例
--reruns NUM:失败用例重跑
-x:表示只要有一个用例报错,那么测试停止
--maxfail=2:出现两个用例失败就停止
-k:根据测试用例的部分字符串指定测试用例
--html:设置测试报告的路径和报告的文件名