本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/30120

pytest结合数据驱动读取json文件

  • json是JS对象
  • 全称是JavaScript Object Notation
  • 是一种轻量级的数据交换格式
  • json结构
    对象{“key”:value}
    数组[value1,value2…]
{
    "name":"hogwarts",
    "detail":{
        "course":"python",
        "city":"北京"
    },
    "remark":[1000,666,888]
}

json文件使用

  • 查看json文件
    pycharm
    txt记事本
  • 读取json文件
    内置函数open()
    内置库json
    方法: json.loads()
    方法:json.dumps()

def get_json():
with open(‘demo.json’,‘r’) as f:
data = json.loads(f.read())
print(data)

结合数据驱动读取 json 文件

#测试my_add方法的测试用例
import pytest
import json
from func.operation import my_add

# 用到json文件中的数据时,就需要读取出来
def get_json():

    #读取json文件内容
    with open("../data/params.json",'r') as f:
        data = json.loads(f.read()) #将json文件加载成python对象:[[],[],[]]
        return list(data.values())

class TestWithJSON:
    @pytest.mark.parametrize('x,y,expected',get_json())
    def test_add(self, x, y, expected):
        assert my_add(int(x),int(y)) == int(expected)

软件测试学习笔记丨Pytest结合数据驱动读取json文件_数据驱动