目录
一、默认的测试用例规则
二、测试用例执行顺序
三、测试用例运行方式
3.1.主函数模式
3.1.1.主函数模式:4种运行方式
3.1.2.文件框架如下图
3.2.命令行模式
3.2.1.命令行模式:4种运行方式
3.2.2.第2种运行方式框架
3.3.通过读取配置文件pytest.ini运行
3.3.1.pytest.ini 文件注意事项
3.3.2.pytest.ini 文件释义
3.3.3.pytest.ini文件源码
一、默认的测试用例规则
1.1.模块名【test_login】:必须以 test_开头 或者 _test结尾 1.2.测试类【Testlogin】:必须以 Test开头,并且不能有init方法 1.3.测试方法【test_01_baili】:必须以 test开头 1.4.所有的包 package 必须要有__init__.py 文件
二、测试用例执行顺序
unittest:按ASCII码的大小来绝对的执行顺序
pytest:默认从上到下
改变用例默认的执行顺序:使用mark标记
三、测试用例运行方式
运行参数含义详情见:Pytest框架运行常用参数解析_沫沫18S的博客
3.1.主函数模式
if __name__ == '__main__':
pytest.main(['-vs','-m smoke','test_01_baili'])
3.1.1.主函数模式:4种运行方式
#1.运行所有 pytest.main() #2.指定模块[文件] pytest.main(['-vs','test_login.py']) #3.指定目录文件夹 pytest.main(['-vs','./interface_testcase']) #4.指定目录文件夹2;通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组成 执行函数:无类名 pytest.main(['-vs', './interface_testcase/test_interface.py::test_01_func']) 执行方法 pytest.main(['-vs', './interface_testcase/test_interface.py::TestInterface::test_01'])
3.1.2.文件框架如下图
3.2.命令行模式
3.2.1.命令行模式:4种运行方式
#1.运行所有文件: pytest #2.执行某个文件的【冒烟】用例;-m后也可以使用表达式,在标记之间添加and,or,not关键字 pytest -vs test_login.py pytest -v -m smoke test_login.py #3.指定目录文件夹 pytest -vs ./interface_testcase #4.指定目录文件夹2;通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组成 执行函数:无类名 pytest -vs ./interface_testcase/test_interface.py::test_01_func 执行方法 pytest -vs ./interface_testcase/test_interface.py::TestInterface::test_01
3.2.2.第2种运行方式框架
备注:第4种运行方式框架,同主函数模式的
3.3.通过读取配置文件pytest.ini运行
3.3.1.pytest.ini 文件注意事项
pytest.ini 一般在企业自动化测试落地中使用的方式,也是pytest单元测试框架的核心配置文件
- 位置:一般放在项目的根目录;
- 名字:必须是 pytest.ini
- 编码格式:必须是 ANSI,可以使用notpad++修改编码格式
- 作用:可以改变pytest默认的测试用例规则
- 运行规则:不管是主函数的模式运行,命令行模式运行,都会去读取pytest.ini这个配置文件
3.3.2.pytest.ini 文件释义
注意:含中文执行时会报错 ,去掉所有中文后,可以使用notpad++修改编码格式
3.3.3.pytest.ini文件源码
[pytest]
addopts = -vs -m "smkoe"
testpaths = ./testcase/
python_files = test_*.py
python_classes = test*
python_functions = test
备注:修改【pytest.ini文件源码 】模块名、类名、方法名的命名规则,对应模块、类、方法的名字也需要跟着pytest.ini的规则修改