其他分享
首页 > 其他分享> > Pytest进阶 -- 数据共享/fixture

Pytest进阶 -- 数据共享/fixture

作者:互联网

使用fixture和conftest文件可以让数据共享

 

Fixture 在自动化中的应用 - 数据共享

你与其他测试⼯程师合作⼀起开发时,公共的模块要在不同⽂件中,要在⼤家都访问到的地⽅。

使⽤ conftest.py 这个⽂件进⾏数据共享,并且他可以放在不同位置起着不同的范围共享作⽤。

将登陆模块带@pytest.fixture 写在 conftest.py

 

举例:

conftest.py

import pytest
@pytest.fixture(scope="session")   #session级别在执行pytest所有用例之前执行一次,即整个项目只执行一次
def login():
    print("\nlogin.....\n")
    token = 123
    yield token #返回token值
    print(f"\nlogout.....\n")

test_demo.py

conftest定义好后,可以在用例中使用,使用方法和fixture相同

import pytest


def test_search():
    print("search")

def test_order(login):   #在用例加上fixture的方法login,即可在测试前调用该方法。并不需要import操作
    print("ordering")
    print(f"token:{login}") #这时候使用fixture的方法来代表yield返回的值token



def test_cart(login):
    print("shopping cart..")

class TestDemo:
    def test_case_1(self,login):
        print("test case 1")
    def test_case_2(self,login):
        print("test case 2")

 

标签:--,fixture,数据共享,test,conftest,Pytest,print,login,def
来源: https://www.cnblogs.com/manshuoli/p/16269245.html