优化用例解析方法

This commit is contained in:
caiweichao 2022-05-06 14:43:50 +08:00
parent 28831b689b
commit acf32514ad
1 changed files with 26 additions and 11 deletions

View File

@ -18,20 +18,19 @@ class ReadExcel:
Log.error(f'打开测试用例数据文件异常{Exception}')
raise Exception("文件打开异常请检查!")
# 读取指定sheet页的数据放入testcase对象
def get_testcase(self, sheetname: str) -> list[dict]:
sheet = self.workbook[sheetname]
all_caseDatas = list(sheet.rows)
# 读取指定sheet页的数据放入data对象
def getSheetDatas(self, sheetName: str) -> list[dict]:
allDatas = list(self.workbook[sheetName].rows)
# 测试用例表头集合
caseTitle: list = [title.value for title in all_caseDatas[0]]
dataTitle: list = [title.value for title in allDatas[0]]
# 将第一行之后的数据解析后和第一行组装为测试用例
testCases = [dict(zip(caseTitle, [caseData.value for caseData in caseDatas])) for caseDatas in
all_caseDatas[1:]]
return testCases
datas = [dict(zip(dataTitle, [data.value for data in datas])) for datas in
allDatas[1:]]
return datas
# 获取cases的标题
@staticmethod
def getCaseValues(testCases: list[dict], key="case_title") -> list:
def getCaseTitle(testCases: list[dict], key="case_title") -> list:
"""
通过指定的key获取用例集合中的内容默认返回用例的标题
:param testCases: 用例集合list[dict]
@ -41,7 +40,23 @@ class ReadExcel:
caseTitle = [caseTitle.get(key) for caseTitle in testCases]
return caseTitle
def getTestCases(self, sheetNmae:str) -> dict:
"""
获取全部的测试用例数据
:param sheetNmae: 传入指定的excel用例集名称
:return: 返回用例合集 caseTitle caseDatas
"""
cases = {
"caseTitle": self.getCaseTitle(testCases=self.getSheetDatas(sheetNmae)),
"caseDatas": self.getSheetDatas(sheetNmae)
}
return cases
if __name__ == '__main__':
cases = ReadExcel().get_testcase(sheetname='OederControl')
print(ReadExcel.getCaseValues(cases, 'case_id'))
cases = ReadExcel().getTestCases(sheetNmae='OederControl')
for x in cases.get('caseTitle'):
print(x)
for y in cases.get('caseDatas'):
print(y)