背景:组内要针对每个项目生成测试报告,要对当前项目的一些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. Beta阶段第2周/共2周 Scrum立会报告+燃尽图 11

    作业要求[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2411] 版本控制:https://git.coding.net/liuyy08 ...

  2. New Concept English Two 3

    $课文5 无错号之虞 47. Mr.James Scott has a garage in Silbury and now he has just bought another garage in P ...

  3. 2017《Java技术》预备作业02

    1.学习使用Git和码云托管代码 参考资料:如何使用Git和码云 安装Git 在码云注册账号,新建项目,名称为Java-CS01(02)XXX, 一班为CS01,二班为CS02,后三位或两位为姓名缩写 ...

  4. BZOJ3212: Pku3468 A Simple Problem with Integers(线段树)

    3212: Pku3468 A Simple Problem with Integers Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 2530  So ...

  5. 揭密FutureTask

    Future是我们在使用java实现异步时最常用到的一个类,我们可以向线程池提交一个Callable,并通过future对象获取执行结果.本篇文章主要讲述了JUC中FutureTask中的一些实现原理 ...

  6. BZOJ5312: 冒险【线段树】【位运算】

    Description Kaiser终于成为冒险协会的一员,这次冒险协会派他去冒险,他来到一处古墓,却被大门上的守护神挡住了去路,守护神给出了一个问题, 只有答对了问题才能进入,守护神给出了一个自然数 ...

  7. 《DSP using MATLAB》 示例 Example 9.16

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  8. linux sort 多列正排序,倒排序

    转载:https://segmentfault.com/a/1190000005713784 sort是在Linux里非常常用的一个命令,管排序 sort将文件的每一行作为一个单位,相互比较,比较原则 ...

  9. Android实现带图标的ListView

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/bear_huangzhen/article/details/23991119 Android实现带图 ...

  10. PCB 设计文件中哪些可以不做成元件

    PCB 文件中哪些可以不做成元件 在 PCB 设计时有些元件为了快速,实际并不需要做成元件. 因为做成元件会浪费时间,并且生产时也没有实际的元件. 如下(持续更新): PCB 与 PCB 之前的连接人 ...