python+pytest接口自动化中,提取的参数,怎样在不同文件夹中传递,可以使用conftest.py的fixture

通过conftest创建全局变量;

实现逻辑:

1.首先定义一个变量t用于接收存储用例返回的结果;

2.定义两个fixture,一个用于存数据,一个用于读数据;

 文件结构

 

#conftest.py
import pytest

#定义一个全局变量,用于存储内容
global_data={}

@pytest.fixture
def set_global_data(): #添加参数
    def set_global_data1(key, value):
        global_data[key]=value
    return set_global_data1

@pytest.fixture
def get_global_data(): #读取参数
    def get_global_data1(key):
        return global_data.get(key)
    return get_global_data1
#test_info.py
import pytest
def test_info(s,set_global_data):
    r=s.get("https://www.cnblogs.com/canglongdao/ajax/TreeCategoryList.aspx?parentId=undefined&categoryType=1")
    a_tags="https://www.cnblogs.com/canglongdao/category/1588084.html"
    set_global_data("api_url",a_tags)
    print(a_tags)
    print("用例的响应头:{}".format(r.headers))
    assert a_tags
def test_lists(s,get_global_data):
    url=get_global_data("api_url")
    r=s.get(url)
    rs=r.text
    assert "接口自动化" in rs
#run.py
import pytest
if __name__=="__main__":
    pytest.main(['-vs'])

 

posted on 2024-09-24 20:13  星空6  阅读(17)  评论(0编辑  收藏  举报

导航