背景:组内要针对每个项目生成测试报告,要对当前项目的一些bug进行统计。考虑到人工统计比较繁琐,而且是个长期的工作,所以写个脚本对bug进行自动统计。(我们用的bug平台是bugfree,直接可以导出excel,因为每次的项目需求ID不一定,所以人工导出excel到一个目录下。使用脚本进行统计)
 
一、环境安装
python3,安装xlrd和xlwt、xlutils这3第三方包,这三个包都支持python2和python3
pip install xlrd
pip install xlwt
pip install xlutils
 
xlrd:对excel文件进行读操作
xlwt:对excel进行写的操作
xlutils:对打开的excel进行copy操作
(这个是我比较纠结的点,因为excel不能直接对已经存在的表进行编辑,必须打开已存在的表后copy一份,修改后再同名保存,这个如果大家有好的方法可以推荐一下。)
 
二、上面三个第三方库的简单应用方法
 
xlrd:读取excel文件
import xlrd
workbook = xlrd.open_workbook(filepath)#filepath为excel文件路径,可以是相对地址
sheet1=workbook.sheet_by_index(0)#通过sheet的索引打开sheet,sheet从0开始
sheet2=workbook.sheet_by_name("sheetname")#通过sheet名字打开sheet
 
rowvalues=sheet1.row_values(i)#取出第i行的全部数据
colvalues=sheet1.col_values(i)#取出第i列的全部数据
 
rowsnum=sheet1.nrows#获得sheet1的行数
colsnum=sheet1.ncols#获得sheet1的列数
 
cellvalue=sheet.cell(1,5).value#根据行和列号取出单元格的内容,1为行号,5为列号
 
xlwt:写入excel文件
import xlwt
f=xlwt.Workbook()
sheet1=f.add_sheet("BUG统计",cell_overwrite_ok=True)#添加一个sheet1,sheet的名字为“BUG统计”
sheet.write(1,5,"data")#在行号为1,列号为5的单元格内插入数据data。行号和列号都是从0起的
f.save("xxx.xls")#保存写入的结果
 
备注:如果想要实现编辑单元格的样式,可以像下面这样做
style = xlwt.XFStyle()
style.pattern.pattern = 1
style.pattern.pattern_fore_colour = 3#设置单元格的背景色
style.borders.bottom = 1#设置边框
g_headerFont = xlwt.Font()#设置字体
g_headerFont.bold = True
style.font = g_headerFont
 
sheet.write(1,5,"data",style)
 
xlutils:复制一个打开的excel对象
from xlutils.copy import copy
workbook = xlrd.open_workbook("./BUG分析.xls")#xlrd通过通过索引或名字打开的sheet都不能编辑,会提示没有write方法
wb=copy(workbook)#Excel处理不支持直接更改已存在的文件,需要打开后copy一份,然后再同名保存,以后希望可以优化
sheet1=wb.get_sheet(0)
sheet1.write(0,0,"ios的BUG数")#此时写入也是用write方法去写
wb.save("./BUG分析.xls")
 
三、BUG统计的思路
1.建立一个user.txt文件,里面包含开发和对应的所在组(ios、Android、server等)
2.将要统计的bug的excel放到脚本所在目录下,脚本会去读取excel文件
3.脚本对要处理的bug进行汇总区分,按照接口bug、需求变更等重新处理。放到BUG分析.xls下,同时根据是属于哪端的bug进行统计,如果user.txt表中开发名字不全,会算到未知端的sheet中,需要手动补全user.txt文件
 
目录如下:
 
 
其他:
python还可以对excel做很多操作,包括粘贴图片、修改Excel报表样式等。如果有时间我会对结果样式优化一下,现在太丑了==。有好的建议可以交流一下~
 
 
 

python实现测试报告的bug统计的更多相关文章

  1. python数据统计之禅道bug统计

    背景 通过定期输出 每条产品的 BUG 情况,以此来反馈开发解决问题.测试跟进问题的情况:钉钉群推送提醒开发及时解决 以此我这边开始着手准备编写一个小工具,最终达到目的:自动定期发送统计报告,报告维度 ...

  2. python - HTMLTestRunner 测试报告模板设置

    python - HTMLTestRunner 测试报告模板设置 优化模板下载地址: http://download.csdn.net/download/chinayyj2010/10039097   ...

  3. python webdriver测试报告

    python webdriver测试报告 即将开始一系列的自动化项目实践,很多公共类和属性都需要提前搞定.今天,解决了测试报告的一些难题,参照了很多博文,最终觉得HTMLTestRunner非常不错, ...

  4. 用python实现简单EXCEL数据统计的实例

    用python实现简单EXCEL数据统计的实例 下面小编就为大家带来一篇用python实现简单EXCEL数据统计的实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 任 ...

  5. python数据结构之二叉树的统计与转换实例

    python数据结构之二叉树的统计与转换实例 这篇文章主要介绍了python数据结构之二叉树的统计与转换实例,例如统计二叉树的叶子.分支节点,以及二叉树的左右两树互换等,需要的朋友可以参考下 一.获取 ...

  6. Python数模笔记-StatsModels 统计回归(4)可视化

    1.如何认识可视化? 图形总是比数据更加醒目.直观.解决统计回归问题,无论在分析问题的过程中,还是在结果的呈现和发表时,都需要可视化工具的帮助和支持. 需要指出的是,虽然不同绘图工具包的功能.效果会有 ...

  7. Python数模笔记-StatsModels 统计回归(1)简介

    1.关于 StatsModels statsmodels(http://www.statsmodels.org)是一个Python库,用于拟合多种统计模型,执行统计测试以及数据探索和可视化. 2.文档 ...

  8. 用 python实现简单EXCEL数据统计

    任务: 用python时间简单的统计任务-统计男性和女性分别有多少人. 用到的物料:xlrd 它的作用-读取excel表数据 代码: import xlrd workbook = xlrd.open_ ...

  9. Python 自动化测试报告HTMLTestRunner

    HTMLTestRunner 是Python的一个测试报告 参考网址: http://tungwaiyip.info/software/HTMLTestRunner.html https://pypi ...

随机推荐

  1. iis6手工创建网站后无法运行php脚本

    给人搬了十几个网站,老站用西部数码建站助手创建的,现在过期了无法继续创建,只能在Internet 信息服务(IIS)管理器创建网站,创建下来都没问题,但是就是无法打开网站. 测试打开txt文档.静态页 ...

  2. 二叉树的基本功能实现方法(C++)

    假设:有一个n个元素的完全二叉树,为了使其成为满二叉树,补全没有孩子的节点是的除了叶节点所有节点都有两个孩子,即最低层皆为-1. 例1: 1 2   3 4 5 -1 6 -1  -1     -1 ...

  3. L198

    One of the most common birth defects throughout the world is a cleft lip. Babies born with a cleft l ...

  4. vim没有权限却可以强制保存时所引起的思考 ------ 文件夹权限对所属文件的权限影响

    最近在拿着Linux 鸟叔私房菜对着Linux 系统学习一下基本操作,虽然已经使用Linux系统已经好多年不过却一直没有系统的学习一下.在用vim 编辑一个文件的时候出现了一个很神奇的事情,明明该文件 ...

  5. 微信应用js-sdk自定义分享图文

    之前写过步骤 但是代码很少 这里奉献上我自己写的代码 我是用js做的 先奉上js部分的代码 <head> <meta charset="utf-8"> &l ...

  6. python3的eval和exec的区别与联系

    eval: 可以把字符串里的字符转换为可执行代码,但只支持一行字符.可以返回执行后得到的值.如下: f = "3+6+9+8"s = eval(f)print(s)输出: &quo ...

  7. Minio Bucket 通知试用&&说明

    kafka 安装 docker run -p 2181:2181 -p 9092:9092 \ --name kafka --rm \ --env ADVERTISED_HOST=HOSTIP \ - ...

  8. graphcool-framework 一个基于graphql的后端开发框架

    特性 GraphQL database 启动便捷的数据迁移数据演变 Flexible auth 基于jwt 的认证 Realtime API 基于graphql 的Subscriptions High ...

  9. Javaweb经典三层架构的演变

    1.Javaweb经历了三个时期 ①JSP Model1第一代 JSP Model1是JavaWeb早期的模型,它适合小型Web项目,开发成本低!Model1第一代时期,服务器端只有JSP页面,所有的 ...

  10. LCD RGB 控制技术 时钟篇(下)

    我们先回顾一下之前的典型时序图 在这个典型的时序图里面,除了上篇博文讲述的HSYNC VSYNC VDEN VCLK这几信号外,我们还能看见诸如HSPW. VSPW,HBPD. HFPD,VBPD. ...