Python 接口测试之Json数据文件操作

  引言

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

posted @ 2020-05-03 10:22  全栈测试开发日记  阅读(836)  评论(0编辑  收藏  举报