Python JSON文件读取与接口测试数据管理实战

花开有时
花开有时
发布时间:2026-10-13| 4人浏览过
原创

本文详解Python读取JSON文件的方法及其在接口测试中的应用。通过封装OperateJson类,实现路径获取、文件读取及关键字数据提取。文章提供完整代码示例,展示如何从JSON文件中加载测试数据并获取特定接口参数,适用于自动化测试场景下的数据准备与处理。

Python JSON文件读取与接口测试数据管理实战

引言

接口测试中的数据准备方案

接口测试的核心在于数据验证。在正式开展测试前,必须预先准备充足的测试数据。常见的数据存储与获取方式包括数据库、Excel、TXT以及CSV文件。此外,JSON文件因其结构清晰、易于解析,也成为存储测试数据的一种常用方案。

JSON文件读取的设计思路

设计思路

在Python中,读取JSON文件的逻辑与读取TXT文件相似,主要包含获取文件路径、验证路径有效性、提取文件名及绝对路径、打开并读取数据、提取关键信息以及关闭文件等步骤。为便于理解具体流程,此处提供一份流程草图:

具体代码实现

Python操作JSON文件的代码实现


@author: Leo
 
@software: pycharm
 
@file: operate_json.py
 
@time: 2020/5/3 0003 9:01
 
@Desc:
 
'''
__author__ = 'Leo'
 
import os
import json
 
# 获取当前文件所在的绝对路径
curPath = os.path.abspath(os.path.dirname(__file__))
print(curPath)
rootPath = os.path.abspath(os.path.dirname(curPath))
print(rootPath)
 
config_file_name = r'./data/api_json'
 
 
 
class OperateJson(object):
  """
  操作Json文件
  """
  def __init__(self,file_name = None):
    if file_name:
      self.file_name = file_name
    else:
      self.get_file = config_file_name
      self.file_name = os.path.join(rootPath,self.get_file)
      print("文件名称:%s"%self.file_name)
 
    self.data = self.read_json()
 
 
  def read_json(self):
    """
    读取json数据
    """
    with open(self.file_name,encoding='utf8') as fp:
      # 反序列化,从文件读取(string转dict)
      data = json.load(fp)
      fp.close()
    return data
 
  def get_keyword_data(self,key):
    """
    读取关键字
    """
    return self.data[key]
if __name__ == '__main__':
  # oj = OperateJson("../data/package.json")
  oj = OperateJson()
  print(oj.read_json())
  print(oj.get_keyword_data('api1'))
  print(oj.get_keyword_data('api1')['url'])
  print(oj.get_keyword_data('api1')['data'])

运行结果:

以上即为本文的全部内容,希望能为读者的学习提供有益参考,同时也欢迎大家继续支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。