python实现测试报告的bug统计

背景:组内要针对每个项目生成测试报告,要对当前项目的一些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报表样式等。如果有时间我会对结果样式优化一下,现在太丑了==。有好的建议可以交流一下~

时间: 2024-12-24 20:39:27

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

python实现代码行的统计

最近闲来无事写了一个统计C或者C++代码行数的程序,主要用到了python以及正则表达式 #-*-coding:utf-8 #!/usr/bin/python import re import os import sys '''get the file or dir in one path''' def getfilename(path): if os.path.exists(path): filelist = os.listdir(path) return filelist '''get th

python webdriver测试报告

python webdriver测试报告 即将开始一系列的自动化项目实践,很多公共类和属性都需要提前搞定.今天,解决了测试报告的一些难题,参照了很多博文,最终觉得HTMLTestRunner非常不错,自己也研读了源码,可进行一些自定义的配置. 下面就说一些体会: 一.配置: HTMLTestRunner看了源码才知道作者是:Wai Yip Tung.到底这是哪位大神就不做深究了,至少我很敬佩. 1.下载HTMLTestRunner.py文件:地址http://tungwaiyip.info/so

资深Python程序员教你统计,三国中人物名字出现的频率,很简单

资深Python程序员教你简单.有趣的程序:使用第三方库jieba切分,统计统计名著三国演义中人物名字出现次数. 资深Python程序员教你统计,三国中人物名字出现的频率,很简单其中一个jieba库是一个对中文文本依照汉字间关联概率进行词组划分的第三方库,使用简单,且非常好用 import jieba def getWords(): txt = open('novels/threekingdoms.txt', 'r', encoding = 'utf-8').read() words = jie

用 python实现简单EXCEL数据统计

任务: 用python时间简单的统计任务-统计男性和女性分别有多少人. 用到的物料:xlrd 它的作用-读取excel表数据 代码: import xlrd workbook = xlrd.open_workbook('demo.xlsx') #打开excel数据表 SheetList = workbook.sheet_names()#读取电子表到列表 SheetName = SheetList[0]#读取第一个电子表的名称 Sheet1 = workbook.sheet_by_index(0)

Python List count()方法-用于统计某个元素在列表中出现的次数

描述 count() 方法用于统计某个元素在列表中出现的次数. 语法 count()方法语法: list.count(obj) 参数 obj -- 列表中统计的对象. 返回值 返回元素在列表中出现的次数. 实例 以下实例展示了 count()函数的使用方法: #!/usr/bin/python aList = [123, 'xyz', 'zara', 'abc', 123]; print "Count for 123 : ", aList.count(123); print "

Python Show-Me-the-Code 第 0004 题 统计单词

第 0004 题:任一个英文的纯文本文件,统计其中的单词出现的个数. 思路:用正则表达式匹配响应的单词和数字,然后让Counter计算单词的词频,再用most_common方法返回一个按照词频排序的包含该词语和该词语出现的次数的元组的列表. 0004.统计单词.py #!/usr/bin/env python #coding: utf-8 import re from collections import Counter FILESOURCE = '/home/bill/Desktop/test

bug统计分析续(一)基于SQL的Bug统计方法

上一篇为 bug统计分析初步 本篇重点讨论基于sql的bug统计分析方法. 1.与时间和状态的关系: 1)考察每个时间单位(年.月.日)产生的bug量 2)考察每个时间单位(年.月.日)解决的bug量 3)考察每个时间单位(年.月.日)遗留的bug量 4)考察每个bug遗留的时间单位(年.月.日) 5)考察平均bug遗留的时间单位(年.月.日) 6)通过结合1).2).3)考察分析发现.解决bug的时间段(月.日.时)峰值 其中6可以用来指导测试.开发效率 2.与时间.角色的关系: 1)考察每个

Python实现代码行数统计工具

我们经常想要统计项目的代码行数,但是如果想统计功能比较完善可能就不是那么简单了, 今天我们来看一下如何用python来实现一个代码行统计工具. 思路:首先获取所有文件,然后统计每个文件中代码的行数,最后将行数相加. 实现的功能: 统计每个文件的行数: 统计总行数: 统计运行时间: 支持指定统计文件类型,排除不想统计的文件类型: 递归统计文件夹下包括子文件件下的文件的行数: 排除空行: # coding=utf-8 import os import time basedir = '/root/sc

Python Show-Me-the-Code 第 0020题 统计通话时长

第 0020 题: 登陆中国联通网上营业厅 后选择「自助服务」 –> 「详单查询」,然后选择你要查询的时间段,点击「查询」按钮,查询结果页面的最下方,点击「导出」,就会生成类似于 2014年10月01日-2014年10月31日通话详单.xls 文件.写代码,对每月通话时间做个统计. 思路: 我的手机号是移动的,所以我选的是导出移动手机号某月的详单.打开表格文件发现每行的格式是: 序号 通话地 通话类型 对方号码 开始时间 通话时长 移动话费 长途话费 它的通话类型是包括套餐,主叫,被叫,上网流量