pytest参数化实现DDT:读取JSON数据
Posted 永远不要矫情
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytest参数化实现DDT:读取JSON数据相关的知识,希望对你有一定的参考价值。
JSON(javascript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。与上一篇文章类似,使用pytest中的pytest.mark.parametrize()便可实现参数化。
代码如下所示:导入json模块,使用json.load()方法加载json文件。
import pytest
import json
def get_data():
with open('test.json') as f:
lst = []
data = json.load(f)
lst.extend(data['keys'])
return lst
@pytest.mark.parametrize('name', get_data())
def test01(name):
print(name)
if __name__ == '__main__':
# print(get_data())
pytest.main(['-sv','test_json.py'])
与之同目录的test.json数据如下所示:
{
"keys": ["tom", "kite", "rose"]
}
输出如下:
============================= test session starts =============================
platform win32 -- Python 3.7.6, pytest-6.2.4, py-1.10.0, pluggy-0.13.1 -- D:\\python3.7.6\\python.exe
cachedir: .pytest_cache
rootdir: D:\\pythonProject\\my_selenium_project\\ddt
plugins: allure-pytest-2.9.41, dependency-0.5.1
collecting ... collected 3 items
test_json.py::test01[tom] tom
PASSED
test_json.py::test01[kite] kite
PASSED
test_json.py::test01[rose] rose
PASSED
============================== 3 passed in 0.08s ==============================
以上是关于pytest参数化实现DDT:读取JSON数据的主要内容,如果未能解决你的问题,请参考以下文章
pytest学习和使用12-Unittest和Pytest参数化详解