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

20191011-构建我们公司自己的自动化接口测试框架-Util的ClearData模块的更多相关文章

  1. 20191011-构建我们公司自己的自动化接口测试框架-Util的AssertResult模块

    AssertResult主要就是进行结果断言的了,因为断言结果分2种情况,一种是断言词,一种是断言sheet,如果涉及断言sheet,则需要操作excel到对应的断言表断言所有的字段并且书写断言结果主 ...

  2. 20191011-构建我们公司自己的自动化接口测试框架-Util的TestDataHandler模块

    TestDataHandler模块主要是做测试数据的处理,包括转换数据格式和变量参数处理转换数据格式函数: data是数据,data以$()的方式识别变量,如果请求的数据有变量,则将变量用global ...

  3. 20191011-构建我们公司自己的自动化接口测试框架-Util的getTestSuite模块

    getTestSuite主要是用于在testData里面获取测试集以及对应的测试数据,包括2个主要的方法,一个是获取测试集,一个是获取测试集里面要执行的测试用例 获取测试集方法: from Util. ...

  4. 20191011-构建我们公司自己的自动化接口测试框架-Util的htmlreport模块

    生成htmlreport的模块是我在网上随意找的一个版本,主要生成的report包括接口名称,接口url,请求数据,响应数据,断言词,断言结果等 具体的htmlreport代码如下: # -*- en ...

  5. 20191011-构建我们公司自己的自动化接口测试框架-Util的读取excel常用方法模块

    包括获取excel的sheet名字,设定excel的sheet,读excel,写excel等常规操作. from openpyxl import Workbook from openpyxl impo ...

  6. 20191011-构建我们公司自己的自动化接口测试框架-Action的request方法封装

    Action模块 封装接口request方法,根据传入的参数调用不同的请求方法,因为项目特色,我们公司的接口都是get和post方法,所以仅仅封装了get和post方法: import request ...

  7. 20191011-构建我们公司自己的自动化接口测试框架-testrun最重要的模块

    testrun模块呢就是最终自动化测试入口,调用前面封装的各个模块主要流程是: 1. 获取测试集种待执行的测试用例 2. 处理测试用例获取的数据,包括转换数据格式,处理数据的中的关联等 3. 处理完数 ...

  8. 20191011-构建我们公司自己的自动化接口测试框架-ProVar模块

    ProVar模块主要定义测试数据所在目录,以及定义变量和测试数据excel里面的column对应这样后续在进行excel操作的时候直接使用变量即可进行操作,后期excel的column有增删的时候,修 ...

  9. 20191011-构建我们公司自己的自动化接口测试框架-Config配置

    Config模块主要是为了存放的一些其他配置等的一个目录,当前目录存放日志配置文件 ################################################ [loggers] ...

随机推荐

  1. Vue中的动画效果

    Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS 动画库,如 Animate.css ...

  2. Telegraf+Influxdb+Grafana(Windows下本机简易监控系统搭建)

    1.文件名称 telegraf-1.5.0_windows_amd64.zip influxdb-1.4.2_windows_amd64.zip grafana-4.6.3.windows-x64.z ...

  3. Java 代码里乱打日志了,这才是正确的打日志姿势

    使用slf4j 使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一. 实现方式统一使用: Logback框架 打日志的正确方式 什么时候应该打日志 当你遇到问题的时候,只能通过debug功能 ...

  4. C# ASP.NET 控制windows服务的 开启和关闭 以及重启

    用ASP.NET控制Windows服务的开启与关闭效果如图 代码 首页页面需要添加引用 页面的pageload中 实例化windows服务 protected void Page_Load(objec ...

  5. python @classmethod

    写在前面 写博客的时候,我发现拖延症很严重,本来昨天要开始写的,结果东看看,西翻翻,啥也没落实下来.时间过去了,口袋里的收获却寥寥无几.讨厌这样的自己.我要戒掉这个不好的毛病. 拖延症的底层原因之一是 ...

  6. Android中为什么主线程不会因为Looper.loop()方法造成阻塞

    很多人都对Handler的机制有所了解,如果不是很熟悉的可以看看我 如果看过源码的人都知道,在处理消息的时候使用了Looper.loop()方法,并且在该方法中进入了一个死循环,同时Looper.lo ...

  7. windows通过企业内部授权服务器激活方法

    OFFICE KMS 激活方法: # 进入office安装目录 cscript ospp.vbs /sethst:kms.domain.com #设置KMS服务器 cscript ospp.vbs / ...

  8. Hibernate 自动更新表出错 建表或添加列,提示标识符无效

    如Oracle 数据库下报错: create table db_meta_web.user (id varchar2(255 char) not null, account varchar2(255 ...

  9. windows下打开binlog

    上篇我们介绍了binlog(参见mysql的binlog),配置文件用的是linux下的my.cnf,那么在windows下如何打开binlog呢?道理是相同的,配置文件是不一样的.在windows下 ...

  10. jmeter 随机取一个值的方法

    1.添加用户自定义变量 在要用到随机值的地方写入 ${__RandomFromMultipleVars(1|2|0)} 例子: 效果: