优化用例解析方法
This commit is contained in:
parent
28831b689b
commit
acf32514ad
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue