zoukankan      html  css  js  c++  java
  • 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文件常用操作的封装案例,希望能帮助到你。另外对自动化测试、测试开发、全栈测试相关技术感兴趣的朋友,可以加入测开学习交流群(下面二维码)。这里没有白富美,没有高富帅,只有一群对测试行业感兴趣的小伙伴,一起学习,一起成长!

  • 相关阅读:
    字母运算
    7.5 字典序全排列
    5
    4 c#
    c# 贪吃蛇源码
    【Django】django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.0 or newer is required;
    redis 存储验证码 基本使用
    Git 的基本使用
    docker(专业版) 安装过程报错
    router.push query 路由 跳转 传参使用
  • 原文地址:https://www.cnblogs.com/liudinglong/p/12820982.html
Copyright © 2011-2022 走看看