目录
一、默认的测试用例规则
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的博客-CSDN博客
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的规则修改