封装需要用的工具类:
1、封装读取Excel的工具类,这里选用的是pandas:
importpandas as pd
path= ‘test.xlsx‘sheet_name= ‘test_data‘
classwith_excel:#构造函数,调用类时就运行
def __init__(self, path=None, sheet_name=None):if path andsheet_name:
self.path=path
self.sheet_name=sheet_nameelse:
self.path= ‘test.xlsx‘self.sheet_name= ‘test_data‘self.data=self.open_excel()#获取表格数据
defopen_excel(self):
df=pd.read_excel(self.path, self.sheet_name)returndf#获取表中单元格行数
defget_lines(self):
lines= self.data.shape[0]#获取了最后一行的行数
returnlines#获取一个单元格的内容(获取多行的内容)
defget_cell_data(self, row, col):returnself.data.iloc[row, col]#将表格数据转字典
defto_dict(self):
test_data=[]for i in self.data.index.values: #获取与表头对应的字典数据
row_data =self.data.loc[i].to_dict()
test_data.append(row_data)returntest_dataif __name__ == ‘__main__‘:
aa = with_excel(path, sheet_name)
2、封装处理json的工具类:
import json
class open_json:
def __init__(self, filename):
self.data = self.read_data(filename)
#打开json文件
def read_data(self, filename):
with open(filename) as fp:
data = json.load(fp)
return data
#获取对应的json数据
def get_data(self, data_id):
return self.data[data_id]
3、封装mock方法
import mock
#使用mock模拟接口返回数据
def mock_test(mock_method, request_data, url, method, response_data):
mock_method = mock.Mock(return_value=response_data)
res = mock_method(url, method, request_data)
return res
4、封装requests
import requests
import json
class RunMethod:
def post_main(self, url, data, header):
if header != None:
res = requests.post(url=url, data=data, headers=header)
else:
res = requests.post(url=url, data=data)
return res
def get_main(self, url, data, header):
if header !=None:
res = requests.get(url=url, data=data, headers=header)
else:
res = requests.get(url=url, data=data)
return res
def run_main(self, method, url, data=None, header=None):
if method == ‘post‘:
res = self.post_main(url, data, header)
else:
res = self.get_main(url, data, header)
return json.dumps(res, ensure_ascii=False, sort_keys=True, indent=4)
原文:https://www.cnblogs.com/fccyccf/p/11832497.html