引言
前面說過接口測試就是資料的測試,在測試之前,需要準備好測試資料,而測試資料可以用資料庫、excel、txt和csv方式,當然還有一種方式,那就是使用json檔案來儲存測試資料。常用的方式就是這些。
設計思路
python讀取json檔案和讀取txt方式是一樣的,擷取路徑,判斷路徑是否存在,擷取檔案名及絕對路徑,打開讀取資料,提取關鍵資料,關閉檔案。具體流程,畫了一個草圖友善了解:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SOyITMxczMzATMtATO0ATN3EDMxMDM1ADMyAjMtcDO1IDO38CX1ADMyAjMvw1N4UjM4czLcd2bsJ2Lc12bj5ycn9Gbi52YuAjMwIzZtl2Lc9CX6MHc0RHaiojIsJye.png)
具體代碼實作
@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檔案常用操作的封裝案例,希望能幫助到你。另外對自動化測試、測試開發、全棧測試相關技術感興趣的朋友,可以加入測開學習交流群(下面二維碼)。這裡沒有白富美,沒有高富帥,隻有一群對測試行業感興趣的小夥伴,一起學習,一起成長!