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

  • 相关阅读:
    C#中文件操作【File】和【Directory】
    MySql的不同之处
    FileStream读写文件【StreamWriter 和 StreamReader】
    将对象序列化为XML文档
    SQL自增长的数据插入
    POJ3356 AGTC (最短编辑距离问题)
    POJ3070Fibonacci(矩阵快速幂求Fibonacci数列)
    HDOJ1058 Humble Numbers
    第三届软件大赛预赛A组试题及答案
    HDOJ4526 威威猫系列故事——拼车记
  • 原文地址:https://www.cnblogs.com/hyj691001/p/11655196.html
Copyright © 2020-2023  润新知