20191011-构建我们公司自己的自动化接口测试框架-Util的ClearData模块
cleardata模块主要是用于在每次测试之前清除历史执行痕迹,主要代码如下:
from Util.ParseExcel import * from ProVar.ProjConfigVar import * from Util.Log import * def clear(): """清除测试集,测试用例,断言表的上次执行数据""" info("开始清除最后执行历史————————————————————————") excel = Excel(ExceldirPath) excel.set_sheet_by_index(1) info("开始清除测试集%s" % excel.ws.title) # 记录已经清除过的sheet cleared = [] for row_a in excel.get_rows_values()[1:]: # 清除测试集里面的执行历史 excel.set_sheet_by_index(1) try: # 清除执行结果 excel.write_cell_value(int(row_a[0])+1,Test_Suit_execute_result_col_no+1,"") # 清除执行时间 excel.write_cell_value(int(row_a[0]) + 1, Test_Suit_execute_time_col_no + 1, "") # 如果有测试集sheet,清除测试集对应的sheet if not excel.set_sheet_by_name(row_a[Test_Suit_test_step_sheet_name_col_no]) or row_a[Test_Suit_test_step_sheet_name_col_no] in cleared : continue # 清除测试用例数据 cleared.append(excel.get_current_sheet_names()) info("开始清除测试用例%s" % excel.ws.title) for row_b in excel.get_rows_values()[1:]: # 清除执行返回结果数据 excel.write_cell_value(int(row_b[0]) + 1, Test_Case_executeResult_col_no + 1, "") # 清除返回结果内容 excel.write_cell_value(int(row_b[0]) + 1, Test_Case_result_content_col_no + 1, "") # 清除断结果数据 excel.write_cell_value(int(row_b[0]) + 1,Test_Case_assert_result_col_no+1,"") # 清除提取的变量 excel.write_cell_value(int(row_b[0]) + 1, Test_Case_var_result_col_no + 1, "") # 清除异常数据 excel.write_cell_value(int(row_b[0]) + 1, Test_Case_exception_col_no + 1, "") # 清除执行时间 excel.write_cell_value(int(row_b[0]) + 1, Test_Case_execute_time_col_no + 1, "") # 如果是以断言表格的形式断言结果,清除断言表格的执行结果数据 if not row_b[Test_Case_assert_content_col_no] or not excel.set_sheet_by_name(row_b[Test_Case_assert_content_col_no]) or row_b[Test_Case_assert_content_col_no] in cleared : continue cleared.append(excel.get_current_sheet_names()) # 清除断言数据 info("开始清除断言表%s" % excel.ws.title) for row_c in excel.get_rows_values()[1:]: # 清除断言结果 excel.write_cell_value(int(row_c[0]) + 1,Assert_result_col_no + 1,"") # 清除执行时间 excel.write_cell_value(int(row_c[0]) + 1, Assert_time_col_no + 1, "") except: continue if __name__ == '__main__': clear()
共计清除3个模块的数据,分别是测试集,测试用例,断言表3个模块进行清除