引言
前面说过接口测试就是数据的测试,在测试之前,需要准备好测试数据,而测试数据可以用数据库、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文件常用操作的封装案例,希望能帮助到你。另外对自动化测试、测试开发、全栈测试相关技术感兴趣的朋友,可以加入测开学习交流群(下面二维码)。这里没有白富美,没有高富帅,只有一群对测试行业感兴趣的小伙伴,一起学习,一起成长!