基于python xlsxwriter、xlrd 生成测试报告
import xlsxwriter,xlrd '''
思路:
1.获取数据
2.整合数据
3.写入文件
'''
#筛选
def filt(category,table,filt_name=None,res=0):
ncol = table.ncols
for i in range(0,ncol):
col_value=set(table.col_values(i))
if category == table.col_values(i)[0]:
for j in table.col_values(i):
if filt_name == j:
res= res+1
break return res,col_value #写数据 i代表插入表格的起始位置
def write_data(category,i=1):
data_cate = list(filt(category,table1)[1])
data_cate.pop(data_cate.index(category))
data_child=[]
for cate_name in data_cate:
data_child.append(cate_name)
data_child.append(filt(category,table1,cate_name)[0])
i=i+1
worksheet.write_row("A{}".format(i),data_child)
data_child=[] #打开数据所在excel
data = xlrd.open_workbook("bug_list.xlsx")
table1 = data.sheets()[0] #填写表头
workbook = xlsxwriter.Workbook("report.xlsx")
worksheet = workbook.add_worksheet("测试报告")
heads1=["项目名称","bug数量"]
heads2=["开发","bug数量"]
heads3=["bug状态","bug数量"]
worksheet.write_row("A1",heads1)
worksheet.write_row("A10",heads2)
worksheet.write_row("A17",heads3) #填写具体数据
write_data("项目名称")
write_data("开发",10)
write_data("bug状态",17) #柱状图
chart1 = workbook.add_chart({"type":"column"})
chart1.add_series({
"name":"=测试报告!$B$1",
"categories":"=测试报告!$A$2:$A$4",
"values":"=测试报告!$B$2:$B$4"
}) chart1.set_title({"name":"柱状图"})
chart1.set_x_axis({"name":"项目名称"})
chart1.set_y_axis({"name":"bug数量"})
chart1.set_style(13)
worksheet.insert_chart("D5",chart1) #饼图
chart2= workbook.add_chart({"type":"pie"})
chart2.add_series({
"categories":"=测试报告!$A$11:$A$14",
"values":"=测试报告!$B$11:$B$14",
"points":[
{"fill":{"color":"red"}},
{"fill":{"color":"yellow"}},
{"fill":{"color":"blue"}},
{"fill":{"color":"green"}},
]
})
chart2.set_title({"name":"饼状图"})
chart2.set_style(10)
worksheet.insert_chart("D23",chart2)
workbook.close()
结果如图所示:
基于python xlsxwriter、xlrd 生成测试报告的更多相关文章
- Selenium2+python自动化54-unittest生成测试报告(HTMLTestRunner)
前言 批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的. unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLT ...
- Python自动化 unittest生成测试报告(HTMLTestRunner)03
批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的. unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTest ...
- python + pytest + allure生成测试报告
pytest结合allure生成测试报告 环境搭建 要安装java环境,版本要是jdk1.8的,配置好java环境变量,不然输入allure命令会报错,JAVA_HOME环境,自行配置 安装allur ...
- python xlsxwriter库生成图表的应用
xlsxwriter可能用过的人并不是很多,不过使用后就会感觉,他的功能让你叹服,除了可以按要求生成你所需要的excel外 还可以加上很形象的各种图,比如柱状图.饼图.折线图等. 请看本人生成的: 这 ...
- Selenium2+python自动化54-unittest生成测试报告(HTMLTestRunner)【转载】
前言 批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的. unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLT ...
- Python自动化测试框架——生成测试报告
如何才能让用例自动运行完之后,生成一张直观可看易懂的测试报告呢? 小编使用的是unittest的一个扩展HTMLTestRunner 环境准备 使用之前,我们需要下载HTMLTestRunner.py ...
- Selenium3+python自动化011-unittest生成测试报告(HTMLTestRunner)
批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的. unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTest ...
- Python+selenium自动化生成测试报告
批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的. unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTest ...
- 通过python xlsxwriter模块生成EXCEL柱状图、饼图
xlsxwriter模块不是python自带的,使用pip下载 import xlsxwriter #新建一个excel文件,起名为expense01.xlsx workbook = xlsxwrit ...
随机推荐
- 使用 IAsyncResult 调用异步方法
.NET Framework 和第三方类库中的类型可以提供允许应用程序在主应用程序线程之外的线程中执行异步操作的同时继续执行的方法.下面几部分介绍了在调用使用 IAsyncResult 设计模式的异步 ...
- 20170410 --- Linux备课资料 --- 压缩与解压缩
这节课我们来学习一下压缩与解压缩,那什么是压缩与解压缩呢? 联想一下Windows系统: 选中文件,右键选择即可 如果压缩,可以选择要压缩的格式,而解压缩直接选择就可以完成了 Linux是通过命令的方 ...
- Android分包MultiDex原理详解
MultiDex的产生背景 当Android系统安装一个应用的时候,有一步是对Dex进行优化,这个过程有一个专门的工具来处理,叫DexOpt.DexOpt的执行过程是在第一次加载Dex文件的时候执行的 ...
- framework/base子目录
framework/base下各子目录 ~/src/aosp_master/frameworks $ tree base/ -L 1 base/ ├── Android.bp ├── Android. ...
- vim插件ctags的安装和使用【转】
本文转载自:http://blog.csdn.net/g_brightboy/article/details/16830395 [ctags功能]: 为源码的变量/对象.结构体/类.函数/接口.宏等产 ...
- 解决无线网卡 RTL8723BE ubuntu环境下不稳定情况
jiqing@ThinkPad:~$ lspci | grep -i net 00:19.0 Ethernet controller: Intel Corporation Ethernet Conne ...
- WebSocket握手总结
网址:http://blog.csdn.net/edwingu/article/details/44040961 WebSocket protocol 是HTML5一种新的协议.它实现了浏览器与服务器 ...
- MySQL社区版是世界上最流行的开源数据库的免费
昨天晚上搞了很久,终于搞清楚mysql的安装配置了,我真是太low了.当我在云服务器上登进Mysql时,真是高兴哈哈,咱一步一步来,彻底搞懂Mysql的安装配置. 我的安装环境: 阿里云服务器 1 2 ...
- Rails5 Route Document
创建: 2017/06/29 完成: 2017/06/29 更新: 2017/06/30 最开头的有效路径展示补充网页版 更新: 2017/07/21 修正错别字 更新: 2017/09/02 增加m ...
- 常见的Java Script内存泄露原因及解决方案
前言 内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存.内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了 ...