天天看点

pytest自动化框架的5个层级架构

作者:测试媛小懒

前言

pytest提供了相对自由和层次丰富的setup与teardowm的框架结构,即测试用例的前后置。

setup()——用于测试前的准备工作

teardown()——用于测试结束后的清理工作

1、pytest提供了5个层次的setup和teardown

session会话级、module模块级、class类级、function函数级、method方法级

2、①模块级setup_module/teardown_module——在模块文件开始和结束只执行一次,不存在类中

②函数级setup_function/teardown_function——每个非类函数测试用例开始前和结束后都会执行一次

③方法级setup_method/teardown_method——每个类中的测试用例方法开始和结束前都会执行一次

④类级setup_class/teardowm_class——每个类的前后只执行一次

⑤兼容类/函数方法setup/teardown——兼容在类中,在每个测试用例方法前后都会执行一次

3、5个层级的脚本实战如下:

pytest自动化框架的5个层级架构
pytest自动化框架的5个层级架构

终端执行结果如图所示:

pytest自动化框架的5个层级架构

注意点:在pytest v7以后的版本,类中同时存在setup_method/teardown_method和setup/teardown方法时,只会执行setup_method/teardown_method方法

继续阅读