Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Pytest中使用excel参数化测试_Python_Pytest_Fixtures - Fatal编程技术网

Python 在Pytest中使用excel参数化测试

Python 在Pytest中使用excel参数化测试,python,pytest,fixtures,Python,Pytest,Fixtures,我是Python新手,很少用Pytest编写测试。现在,我想使用excel或csv工作表参数化我的测试,以将数据传递给测试方法 我找不到任何帮助。你能帮我一下吗?或者参考任何链接 谢谢 Sunil应该使用总体思路 例如,您可以使用输入文件名添加输入参数 尝试编写一个函数,从excel或CSV中检索“数据”列表。然后您可以像这样使用参数化功能: def get_data(): # Retrieve values from CSV return ['value1', 'value2'

我是Python新手,很少用Pytest编写测试。现在,我想使用excel或csv工作表参数化我的测试,以将数据传递给测试方法

我找不到任何帮助。你能帮我一下吗?或者参考任何链接

谢谢
Sunil

应该使用总体思路

例如,您可以使用输入文件名添加输入参数

尝试编写一个函数,从excel或CSV中检索“数据”列表。然后您可以像这样使用参数化功能:

def get_data():
    # Retrieve values from CSV
    return ['value1', 'value2', 'value3']

@pytest.mark.parametrize("value", get_data())
def test_sample(self, value):
    print(value)
此示例将生成3个测试,将从
get_data()
返回的每个元素作为值传递


注意:有关如何打开CSV文件并将值转换为列表的帮助,请查阅CSV上的文档。

谢谢您的帮助。我是否需要安装pandas或openpyxl之类的软件包来读取excel文件,然后逐行传递数据?或者我只需要传递excel文件名?页面上没有任何使用文件作为输入数据的示例。当然,读取excel文件需要一些额外的软件包。我的答案更多的是关于如何从文件中读取测试输入,非常感谢。成功了。