pytest使用parametrize()数据驱动无法循环获取yaml文件

问题遇到的现象和发生背景

pytest使用parametrize数据驱动时,参数值无法循环获取yaml文件

问题相关代码,请勿粘贴截图
all_file = [
            'demo_test\\power\\create_power.yaml',
            'demo_test\\login.yaml',
            'demo_test\\command\\find_commandpage.yaml'
            ]
for i in range(len(all_file)):
    @pytest.mark.parametrize('caseinfo',get_yaml_file(all_file[i]))
    def test_request(caseinfo,get_token):
        logging.basicConfig(level=logging.INFO)
        log = logging.getLogger()
        name=caseinfo['name']
        header={'Authorization':get_token}
        methond=caseinfo['request']['methond']
        url=caseinfo['request']['url']
        data=caseinfo['request']['data']
        log.info(f'这是第{i}个文件')
        log.info(f'执行的测试用例名称:{name}')
        if methond.lower() == 'get':
            res=Request.session.request(method=methond,url=url,params=data,headers=header)
        elif methond.lower() == 'post':
            res=Request.session.request(method=methond,url=url,json=data,headers=header)


运行结果及报错内容

只拿到了列表中最后一个参数的数据
2021-12-20 16:49:48 - test_request.py - test_request - test_request - 53 - INFO - 这是第2个文件
2021-12-20 16:49:48 - test_request.py - test_request - test_request - 54 - INFO - 执行的测试用例名称:分页查询命令
PASSED

我的解答思路和尝试过的方法

不理解为什么列表中前两个的数据没有获取到

我想要达到的结果

看看你的函数get_yaml_file是怎样一个返回值,或你可以了解一下parametrize的参数说明
https://blog.csdn.net/totorobig/article/details/112235358

优化get_yaml_file()方法,通过列表的append方法将各个路径的文件追加成一个新列表即可。

def get_yaml_file(filename):
    with open(get_file_path()+filename,'r',encoding='utf-8') as f:
        value=yaml.load(stream=f,Loader=yaml.FullLoader)
        return value[0]
        # print(value[0])

def case():
    files = [
            'demo_test\\device\\create_device.yaml',
            'demo_test\\device\\find_devicebytype.yaml'
            ]
    results = []
    for file in files:
        results.append(get_yaml_file(file))
    return results