一、pytest框架介绍
1.pytest框架介绍
1.1 测试框架的分类:
进行测试执行操作:Selenium、Appium、Requests
测试用例管理及执行:pytest、Unitest、Nose
测试报告:Allure
数据驱动:DDT
环境部署及持续集成:Docker、Jenkins
1.2 pytest:基于 Python 的测试框架,用于编写和执行测试代码。pytest应用在自动化测试测试场合、单元自动化测试、API自动化测试、Web/APP自动化测试等领域。
1.3 pytest的框架结构:
pytest支持 5 个层次的 setup 和 teardown,包括:session会话级、module模块级、function函数级、class类级、method方法级
(1)模块级(setup_module/teardown_module):开始于模块始末(不在类中),整个模块只执行一次
(2)函数级(setup_function/teardown_function):对函数用例生效(不在类中),每个测试方法前后都会执行
(3)方法级(setup_method/teardown_method):开始于方法始末(在类中),每个测试方法前后都会执行
(4)类级(setup_class/teardown_class):只在类中前后运行一次(在类中),所有测试方法前后执行
(5)兼容的类里面的层级(setup/teardown):运行在调用方法的前后
1.4 pytest框架执行的查找原则和测试类及测试方法的命名:
(1)从一个或多个目录开始查找,可以在命令行指定文件名或目录名。如果未指定,则使用当前目录
(2)在该目录和所有子目录下递归查找测试模块
(3)测试模块指文件名为 test_*.py 或 *_test.py 的文件
(4)查找名字以 Test 开头的类,其中首先筛选掉包含 __init__函数的类,再查找以 test_开头类中的方法