背景:组内要针对每个项目生成测试报告,要对当前项目的一些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. Jacoco的原理

    覆盖率计数器 Jacoco使用一系列的不同的计数器来做覆盖率的度量计算.所有这些计数器都是从java的class文件中获取信息,这些class文件可以(可选)包含调试的信息在里面.即使在没有源码的情况 ...

  2. 笔记本用HDMI、VGA连接高清电视全过程实录2——各种问题

    内容中包含 base64string 图片造成字符过多,拒绝显示

  3. SQL中注意数据类型对性能的影响

    在数据存储的时候有时我们不太注意字符编码对性能影响,但小问题往往造成很大的影响.在数据量小的时候感觉不出来,一旦上到百万级以上的时候就非常明显了 看下面两个SQL语句 ---SQL1 SELECT * ...

  4. contentType 'text/xml; charset=UTF-8' conflicts问题

    Resin升级到3.1.3后,有同事发现原来在Resin 3.0.xx下成功运行的部分jsp文件(输出xml格式文件)编译出错: 1234567 500 Servlet Exception XXXXX ...

  5. 利用python完成多个url状态码的检测

    import re import requests import json from threading import Thread,Lock from concurrent.futures impo ...

  6. 开始yaf之旅

    目录结构 + public //网站根目录 - index.php //入口文件 - .htaccess //重写规则 + conf |- application.ini //配置文件 applica ...

  7. BZOJ1095: [ZJOI2007]Hide 捉迷藏【动态点分治】

    Description 捉迷藏 Jiajia和Wind是一对恩爱的夫妻,并且他们有很多孩子.某天,Jiajia.Wind和孩子们决定在家里玩 捉迷藏游戏.他们的家很大且构造很奇特,由N个屋子和N-1条 ...

  8. rabbitmq学习(四):利用rabbitmq实现远程rpc调用

    一.rabbitmq实现rpc调用的原理 ·rabbitmq实现rpc的原理是:客户端向一个队列中发送消息,并注册一个回调的队列用于接收服务端返回的消息,该消息需要声明一个叫做correaltionI ...

  9. 6-16 Topological Sort(25 分)

    Write a program to find the topological order in a digraph. Format of functions: bool TopSort( LGrap ...

  10. Spring boot启动原理

    1.入口类 /** * springboot应用的启动入口 */ @RestController @SpringBootApplication public class SampleApplicati ...