一、编写思路
1、源文件:
cases.xlsx:存放接口信息
config.yaml:url、ip、文件路径等
2、工具类:
tools_path:主目录路径已经其他文件路径
tools_excel:读取文件内容
tools_yaml:读取yaml文件
3、新建文件以及目录
二、源码
1、config.yaml
2、
2、tools_excel.py
import os,openpyxl
from tools.tools_path import DATAS_DIR
from tools.tools_yaml import go_yaml
class CaseData:
pass
class ToolsExcel:
# go_yaml=ToolsYaml(CONFIG_DIR)
def __init__(self, sheetname, filename=None):
if filename is None:
# datas_dir=go_yaml.read("excel", "cases_path")
# self.filename = os.path.join(DATAS_DIR,datas_dir )
self.filename=os.path.join(DATAS_DIR,go_yaml.read("excel", "cases_path"))
else:
self.filename = filename
self.sheetname = sheetname
# print(f'filename:{self.filename}')
# print(f'sheetname:{self.sheetname}')
def open(self):
"""打开工作表和sheet页"""
self.fl = openpyxl.load_workbook(self.filename)
self.sh = self.fl[self.sheetname]
def read_data(self):
"""读取数据"""
self.open()
rows = list(self.sh.rows)
cases = []
for r in rows[0]:
title=[r.value] #输出列名 case_id、title、title、data......
# print(type(title))
for index in rows[1:]:
for c in index:
data_value=[c.value] #输出列名内容 1、成功、/file****、/{"platSetting":{"pLenth":800,"pWid**********
data_zip=zip(title,data_value)
case_dict=dict(data_zip)
cases.append(case_dict)
print(cases)
self.fl.close()
return cases
# if __name__ == '__main__':
# aa=ToolsExcel("sheet页名称")
# bb=aa.read_data()
# a=openpyxl.open("D:\python\workspace\PolyKits\datas\cases.xlsx")
# print(a)
3、tools_paht.py
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #项目主路径:D:\python\workspace\PolyKits
DATAS_DIR = os.path.join(BASE_DIR, "datas") #项目主路径:D:\python\workspace\PolyKits\datas
CONFIG_DIR=os.path.join(BASE_DIR,"config\config.yaml") #项目主路径:D:\python\workspace\PolyKits\config
if __name__ == '__main__':
print(DATAS_DIR)
4、tools_yaml.py
import yaml
from tools.tools_path import CONFIG_DIR
class ToolsYaml:
def __init__(self, filename):
with open(filename, encoding="utf-8") as one_file:
self.datas = yaml.full_load(one_file)
def read(self, section, option):
"""
读数据
:param section: 区域名
:param option: 选项名
:return:
"""
return self.datas[section][option]
go_yaml = ToolsYaml(CONFIG_DIR)
# if __name__ == '__main__':
# go_yaml = ToolsYaml(CONFIG_DIR)
# pass
5、cases.xlsx
6、将excel中sheet页中的名字,填入,运行tools_excels.py可以看到运行的结果
第三节,更新中
后期更新,只会再添加的部分重新贴出来,不会再重头到尾的进行粘贴