引言

前面说过接口测试就是数据的测试,在测试之前,需要准备好测试数据,而测试数据可以用数据库、excel、txt和csv方式,当然还有一种方式,那就是使用json文件来储存测试数据。常用的方式就是这些。

设计思路

python读取json文件和读取txt方式是一样的,获取路径,判断路径是否存在,获取文件名及绝对路径,打开读取数据,提取关键数据,关闭文件。具体流程,画了一个草图方便理解:

具体代码实现

@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'])

运行结果:

总结

以上就是对json文件常用操作的封装案例,希望能帮助到你。另外对自动化测试、测试开发、全栈测试相关技术感兴趣的朋友,可以加入测开学习交流群(下面二维码)。这里没有白富美,没有高富帅,只有一群对测试行业感兴趣的小伙伴,一起学习,一起成长!

python接口测试jason_Python 接口测试之Json数据文件操作相关推荐

  1. python 接口测试 url_Python 接口测试之接口请求方法封装

    引言 前面讲过三篇文章: 既然我们接口测试用例写好了,测试数据也拿到了,那么就是模拟调用接口的方法了,方法有get,post,put,delete,具体是选择哪种,我们需要根据不同接口规定好请求方法来 ...

  2. pythonos pathjson_Python Json数据文件操作原理解析

    引言 接口测试就是数据的测试,在测试之前,需要准备好测试数据,而测试数据可以用数据库.excel.txt和csv方式,当然还有一种方式,那就是使用json文件来储存测试数据.常用的方式就是这些. 设计 ...

  3. PHP向第三方接口发送json数据

    2019独角兽企业重金招聘Python工程师标准>>> 开发项目中,遇到需要向第三方接口发送json数据数据的情况,php默认发送数据形式为text,需要告诉第三方接口数据形式为js ...

  4. java调用远程 接口_java通过url调用远程接口返回json数据

    java通过url调用远程接口返回json数据,有用户名和密码验证, 转自 https://blog.csdn.net/wanglong1990421/article/details/78815856 ...

  5. 怎么用python爬股票接口对股票数据进行分析

    怎么用python爬股票接口对股票数据进行分析 在 Python的QSTK中,是通过 s_datapath 变量,定义相应股票数据所在的文件夹. 具体的股票数据来源,例如沪深.港股等市场,你可以使用免 ...

  6. Java 和 Python 解析动态 key 的 JSON 数据

    一.概述 解析JSON过程中,什么情况都可能遇到.遇到特殊的情况,不会怎么办?肯定不是设计的问题,一定是你的姿势不对. 有这样一种JSON需要解析: {"b3444533f6544" ...

  7. spring-webmvc-4.1.6 接口返回json数据 中文出现\u0000\u0000\u0000\u0000

    之前搭建开发环境的时候遇到了一个奇怪的现象,使用spring4.1.6的框架,因为spring的升级处理json的jar也跟着升级到了Jackson2.6的rc1版.具体引入的jar如下图所示: 环境 ...

  8. 简学Python第二章__巧学数据结构文件操作

    Python第二章__巧学数据结构文件操作 欢迎加入Linux_Python学习群  群号:478616847 目录: 列表 元祖 索引 字典 序列 文件操作 编码与文件方法 本站开始将引入一个新的概 ...

  9. c语言数据文件是,C语言数据文件操作.ppt

    C语言数据文件操作 第十一章 文件 11.1 C文件概述 文件:存储在外部介质上数据的集合,是操作系统数据管理的单位 文件处理方法 缓冲文件系统:高级文件系统,系统自动为正在使用的文件开辟内存缓冲区 ...

最新文章

  1. linux cuda 异常退出,cudaErrorCudartUnloading问题排查及建议方案
  2. 便利的操作plist文件
  3. dsPIC30F 细节点问题不定期更新ing
  4. android php mysql json 查询_使用json从PHP-MySql服务器到Android获取图像
  5. mysql不能删除外键吗,MySQL不能删除外键约束所需的索引
  6. 在DataTable和DataView中查找指定记录
  7. 小汤学编程之JAVA基础day07——面向对象(二):封装、继承与多态
  8. DBA跳槽应该去大公司还是小公司?99%的人这样说...
  9. 【数据分析】你一定要掌握的Python七种数据清洗方法
  10. App.vue文件本质上也是js文件(javascript文件)
  11. 彩虹云商城 最新彩虹代刷V6.9.0免授权纯净完整版
  12. 冰点文库下载安装及使用教程
  13. 计算机网络 谢希仁(第8版)第五章习题答案
  14. 多重背包二进制优化(wzk吃小鸡腿)
  15. 基于f2从零实现移动端可视化编辑器
  16. Carrey的第一篇博客
  17. centos /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
  18. 怎么卸载mysql????如何清理干净?
  19. Python批量制作抖音的卡点视频原来这么简单!
  20. Android录音,PCM音频数据打包成AAC

热门文章

  1. 爬虫,关于 video 标签 src 带有blob:http的 一些想法
  2. javax.script.ScriptException: ReferenceError: xxx is not defined in eval
  3. android 自定义相机,Camera,相机遮罩层
  4. Bitmap添加文字水印
  5. Android 向右滑返回,退出当前activity
  6. 微信小程序map作为子组件wx.createMapContext失效
  7. 微信公众号 自定义菜单栏目
  8. vscode 遇到的迷之bug nvm is not compatible with the npm config prefix
  9. c语言编写pdf,编写并运行C语言程序.pdf
  10. oracle如何并发重建索引,oracle数据库如何重建索引?