''' 作业一: 1, 编写上课的 login 函数的测试用例方法; 2, 通过run.py收集和运行所有的测试; 3, 使用htmltestrunner生成测试报告。 ''' import unittest import os from HTMLTestRunnerNew import HTMLTestRunner #初始化一个加载器loader loader = unittest.TestLoader() #获取文件tests的路径 dir_path = os.path.dirname(os.path.abspath(__file__)) case_path = os.path.join(dir_path,'tests') #discover所有的cases test_suite = loader.discover(case_path) #执行用例 生成html报告 with open('test_report.html','wb') as f: runner = HTMLTestRunner( f, title='作业1的自动化测试报告', description='测试报告描述', tester='juan cao' ) runner.run(test_suite) ''' 作业二: 1, 编写上课的 login 函数测试用例,保存到 cases.xlsx 文件; 2,通过 openpyxl 读取所有的测试用例数据。 3, 每一行的用例可以通过列表接收,也可以通过字典接收。 4, 不需要关闭文件,不需要封装。 ''' import openpyxl #打开excel文件 workbook = openpyxl.load_workbook('cases.xlsx') #读取表单 sheet = workbook['Sheet1'] #获取数据 #方法一 嵌套列表 切片 #获取所有的行 rows = list(sheet.rows) data = [] for row in rows[1:]: #去除第一行标题 data_row = [] for each in row: data_row.append(each.value) data.append(data_row) print('列表嵌套列表:{}'.format(data)) #方法二、嵌套列表 枚举 rows = list(sheet.rows) list4 = [] for k,v in enumerate(rows): if k != 0: list3 = [] for each in v: list3.append(each.value) list4.append(list3) print('列表嵌套列表:{}'.format(list4)) #嵌套字典方法一--zip()方法,字典可读性更强 rows = list(sheet.rows) key_list = [] for each in rows[0]: key_list.append(each.value) data = [] for row in rows[1:]: dic = {} data_row = [] for each1 in row: data_row.append(each1.value) dic = dict(zip(key_list,data_row)) data.append(dic) print('列表嵌套字典:{}'.format(data)) #嵌套字典方法二----enumerate() data = [] rows = list(sheet.rows) headers = [] for title in rows[0]: headers.append(title.value) for row in rows[1:]: row_data = {} for idx,cell in enumerate(row): row_data[headers[idx]] = cell.value data.append(row_data) print(data)