Pytest框架测试用例规则和运行方式

目录

一、默认的测试用例规则

二、测试用例执行顺序

三、测试用例运行方式

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 文件

Pytest框架测试用例规则和运行方式_第1张图片 

二、测试用例执行顺序

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.文件框架如下图 

Pytest框架测试用例规则和运行方式_第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种运行方式框架

Pytest框架测试用例规则和运行方式_第3张图片

 备注:第4种运行方式框架,同主函数模式的

3.3.通过读取配置文件pytest.ini运行

3.3.1.pytest.ini 文件注意事项

pytest.ini 一般在企业自动化测试落地中使用的方式,也是pytest单元测试框架的核心配置文件

  1. 位置:一般放在项目的根目录;
  2. 名字:必须是 pytest.ini
  3. 编码格式:必须是 ANSI,可以使用notpad++修改编码格式
  4. 作用:可以改变pytest默认的测试用例规则
  5. 运行规则:不管是主函数的模式运行,命令行模式运行,都会去读取pytest.ini这个配置文件Pytest框架测试用例规则和运行方式_第4张图片

3.3.2.pytest.ini 文件释义

注意:含中文执行时会报错 ,去掉所有中文后,可以使用notpad++修改编码格式

Pytest框架测试用例规则和运行方式_第5张图片

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的规则修改

你可能感兴趣的:(Pytest框架,工具类,接口测试,测试用例,pytest,python,接口测试工具,自动化测试)