Pytest框架【6】:fixture--conftest.py

说明: conftest.py配置里可以实现数据共享,不需要import就能自动找到配置内容。

注意以下3点:
1、conftest.py配置脚本名称是固定的,不能修改名称
2、conftest.py与运行的用例要在同一个package下,并且有__init__.py文件
3、不需要import导入conftest.py,pytest用例会自动查找

语法: fixture(scope=“function”, params=None, autouse=False, ids=None, name=None):
:arg scope:有四个级别“function”、“class”、“module”、“session”
:arg params:一个可选的参数列表,它将导致多个参数调用fixture功能和所有测试使用它
:arg autouse:如果为True,则为所有测试激活fixture func可以看到它,如果为False,则显示需要参考来激活fixture
:arg ids:每个字符串id的列表,每个字符串对应于params这样他们就是测试id的一部分,如果没有提供id它们将从params自动生成
:arg name:fixture的名称

脚本在同一个文件中test_demo.py:

import pytest

@pytest.fixture()
def login():
    print('输入账号、密码登录')

def test_s1(login):
    print('用例1:登录之后其他操作111')

def test_s2():
    print('用例2:需要登录,操作222')

def test_s3(login):
    print('用例3:登录之后其他操作333')

执行结果:
在这里插入图片描述
脚本不在同一个文件里:
1、conftest.py文件:

import pytest

@pytest.fixture()
def login():
    print('请输入账号、密码登录')

2、test_fix1.py文件:

import pytest

def test_s1(login):
    print('用例1:登录之后其他动作111')

def test_s2():
    print('用例2:不需要登录,操作222')

def test_s3(login):
    print('用例3:登录之后其他动作333')

3、test_fix2.py文件:

import pytest

def test_s4(login):
    print('用例4:登录之后其他动作111')

def test_s5():
    print('用例5:不需要登录,操作222')

单独执行test_fix1.py文件:
在这里插入图片描述
单独执行test_fix2.py文件:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值