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个模块进行清除

posted @ 2019-10-11 16:47  何发奋  阅读(324)  评论(0编辑  收藏  举报