Frame--pytest.fixture作用域

1. fixture指定范围
1.1 指定范围
会话级别:session----driver创建到关闭仅引用一次
模块级别:module-----每个.py模块文件应用一次
类级别:class--------每个测试类引用一次
函数级别:function---每个测试函数引用一次
1.2 代码
## conftest.py 文件

import pytest

# 函数级别
@pytest.fixture(scope='function')
def func_scope():
    print("函数级别的fixtue--开始")
    yield
    print("函数级别的fixtue--结束")

# 类级别
@pytest.fixture(scope='class')
def class_scope():
    print("类级别的fixtue--开始")
    yield
    print("类级别的fixtue--结束")

# 模块级别
@pytest.fixture(scope='module')
def module_scope():
    print("模块级别的fixtue--开始")
    yield
    print("模块级别的fixtue--结束")

# 会话级别--autouse属性设置为True后,整个浏览器创建到quit仅自动调用一次,无需引用
@pytest.fixture(scope='session', autouse=True)
def session_scope():
    print("会话级别的fixtue--开始")
    yield
    print("会话级别的fixtue--结束")

# test_scope.py 文件

import pytest

@pytest.mark.usefixtures("module_scope")

@pytest.mark.usefixtures('func_scope')
def test_func_01():
    print("执行函数1")

def test_func_02():
    print("执行函数2")

@pytest.mark.usefixtures('class_scope')
class Test_class:

    @pytest.mark.usefixtures('func_scope')
    def test_func_03(self):
        print("执行类函数1")

    def test_func_04(self):
        print("执行类函数2")

# 输出

会话级别的fixtue--开始
    模块级别的fixtue--开始
        函数级别的fixtue---开始
        .执行函数1
        函数级别的fixtue---结束
        .执行函数2
        类级别的fixtue--开始
            函数级别的fixtue---开始
            .执行类函数1
            函数级别的fixtue---结束
            .执行类函数2
        类级别的fixtue---结束
    模块级别的fixtue---结束
会话别的fixtue---结束

1.3 总结
session                 ---针对整个driver仅运行一次,可以有多个.py文件
    module{             ---针对每个.py文件仅运行一次,可以有多个测试类或函数
        class[          ---针对每个测试类仅运行一次,可以有多个函数
            func1()     ---针对每个函数仅运行一次
        class]
    module}
session
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值