【自动化测试】pytest框架之fixture

fixture里面有个scope参数可以控制fixture的作用范围:session>module>class>function
-function:每一个函数或方法都会调用
-class:每一个类调用一次,一个类中可以有多个方法
-module:每一个.py文件调用一次,该文件内又有多个function和class
-session:是多个文件调用一次,可以跨.py文件调用,每个.py文件就是module

调用fixture:
1:直接传fixture的函数参数名称

【自动化测试】pytest框架之fixture

2.使用装饰器@pytest.mark.usefixtures()修饰需要运行的用例

【自动化测试】pytest框架之fixture

3.叠加使用usefixtures

【自动化测试】pytest框架之fixture
【自动化测试】pytest框架之fixture

usefixture和传fixture区别:如果fixture有返回值,那么usefixture就无法获取到返回值

【自动化测试】pytest框架之fixture
【自动化测试】pytest框架之fixture

fixture有个autouse默认是false,没有开启,默认是function ,每个函数都会执行,只需要设置为autouse=True,就不用再去调用fixture

【自动化测试】pytest框架之fixture

conftest.py在不同层级目录,优先级不同
/conftest.py

import pytest

@pytest.fixture(scope='session', autouse=True)

def login():

    print('-----准备登陆-----')

/test/conftest.py

import pytest

@pytest.fixture(scope='session', autouse=True)

def bai_du():

    print('-----登录百度页面-----')

/test/test0526.py

import pytest

class TestCase:

    def test_login(self):

        print('成功登录百度')

if __name__ == '__main__':

    pytest.main(['-s', 'fixture0526.py'])

结果:

【自动化测试】pytest框架之fixture

Original: https://blog.csdn.net/antyuki/article/details/125003661
Author: Yakadee
Title: 【自动化测试】pytest框架之fixture

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/775185/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球