#导包

import xlsxwriter
from datetime import *

#创建报告类
class report:
    workbook = xlsxwriter.Workbook('guaishounan_report.xlsx') #测试报告文件名称
    worksheet = workbook.add_worksheet("测试总况") #表格名称

def get_format(self, wd, option):
        return wd.add_format(option)

# 设置居中
    def get_format_center(self, wb, num=1):
        return wb.add_format({'align': 'center', 'valign': 'vcenter', 'border': num})

def set_border_(self, wb, num=1):
        return wb.add_format({}).set_border(num)

# 写数据
    def write_center(self, worksheet, cl, data, wb):
        return worksheet.write(cl, data, self.get_format_center(wb))

def init(self, data, data1, score):
        # 设置列行的宽高
        self.worksheet.set_column("A:A", 15)
        self.worksheet.set_column("B:B", 20)
        self.worksheet.set_column("C:C", 20)
        self.worksheet.set_column("D:D", 20)
        self.worksheet.set_column("E:E", 20)
        self.worksheet.set_column("F:F", 20)
        self.worksheet.set_row(1, 30)
        self.worksheet.set_row(2, 30)
        self.worksheet.set_row(3, 30)
        self.worksheet.set_row(4, 30)
        self.worksheet.set_row(5, 30)

define_format_H1 = self.get_format(self.workbook, {'bold': True, 'font_size': 18})
        define_format_H2 = self.get_format(self.workbook, {'bold': True, 'font_size': 14})
        define_format_H1.set_border(1)

define_format_H2.set_border(1)
        define_format_H1.set_align("center")
        define_format_H2.set_align("center")
        define_format_H2.set_bg_color("#70DB93")
        define_format_H2.set_color("#ffffff")

self.worksheet.merge_range('A1:F1', 'guaishounan系统测试报告总概况', define_format_H1)  #表格标题名称
        self.worksheet.merge_range('A2:F2', '测试概括', define_format_H2)
        self.worksheet.merge_range('A3:A6', '项目图片', self.get_format_center(self.workbook))

self.write_center(self.worksheet, "B3", '项目名称', self.workbook)
        self.write_center(self.worksheet, "B4", '系统版本', self.workbook)
        self.write_center(self.worksheet, "B5", '运行环境', self.workbook)
        self.write_center(self.worksheet, "B6", '测试网络', self.workbook)

self.write_center(self.worksheet, "C3", data['test_name'], self.workbook)
        self.write_center(self.worksheet, "C4", data['test_version'], self.workbook)
        self.write_center(self.worksheet, "C5", data['test_pl'], self.workbook)
        self.write_center(self.worksheet, "C6", data['test_net'], self.workbook)

self.write_center(self.worksheet, "D3", "用例总数", self.workbook)
        self.write_center(self.worksheet, "D4", "通过总数", self.workbook)
        self.write_center(self.worksheet, "D5", "失败总数", self.workbook)
        self.write_center(self.worksheet, "D6", "测试日期", self.workbook)

self.write_center(self.worksheet, "E3", data1['test_sum'], self.workbook)
        self.write_center(self.worksheet, "E4", data1['test_success'], self.workbook)
        self.write_center(self.worksheet, "E5", data1['test_failed'], self.workbook)
        self.write_center(self.worksheet, "E6", data1['test_date'], self.workbook)

self.write_center(self.worksheet, "F3", "分数", self.workbook)

self.worksheet.merge_range('F4:F6', '%s' % score, self.get_format_center(self.workbook))

self.pie(self.workbook, self.worksheet)

# 生成饼形图
    def pie(self, wob, wos):
        chart1 = wob.add_chart({'type': 'pie'})
        chart1.add_series({
            'categories': '=测试总况!$D$4:$D$5',
            'values': '=测试总况!$E$4:$E$5',
        })
        chart1.set_title({'name': 'guaishounan系统测试统计'}) #饼状图标题
        chart1.set_style(10)
        wos.insert_chart('A9', chart1, {'x_offset': 25, 'y_offset': 10})

if __name__ == '__main__':
    data_title = {"test_name": "guaishounan系统", "test_version": "v1.0", "test_pl": "win10", "test_net": "局域网"}
    test_sum = 168  # 填写测试用例总数,除数不能为0
    test_success = 88 #填写测试通过总数
    test_failed = test_sum - test_success #测试失败总数
    data_re = {"test_sum": test_sum, "test_success": test_success, "test_failed": test_failed,
               "test_date": str(date.today())}
    r = report()
    r.init(data_title, data_re, int((test_success / test_sum) * 100))
    r.workbook.close()

【软件测试】使用python快速生成系统测试报告相关推荐

  1. 2021年新微信小程序开发系统源码易客多小程序saas系统扫码点餐小程序支付宝小程序快速生成系统源码源代码

    2021年新微信小程序开发系统源码小程序saas系统扫码点餐小程序支付宝小程序快速生成系统 产品介绍:易客多多合一小程序快速生成系统是厦门四六开科技有限公司开发的快速开发微信百度支付宝小程序生成系统, ...

  2. Python快速生成注释文档

    Python为我们生成基本满足的说明文档,一来可以提高代码整体阅读性,二来可以将代码的整体结构看着也更清晰. 注意:注释的地方和函数名类名都是与__all__内相关联的 简单的代码格式: #!/usr ...

  3. Python快速生成gif图

    前言 gif图就是动态图,它的原理和视频有点类似,也是通过很多静态图片合成的.本篇文章主要介绍,如何利用Python快速合成gif图,主要利用Python的第三方库imageio imageio介绍 ...

  4. python快速生成列表_python_字符串快速生成列表的绝招

    #coding:utf-8 #python_字符串快速生成列表的绝招 import random import time #----写字表 共200个字 (一年级) xiezibiao="春 ...

  5. python htmltestrunner报告_为什么python+htmltestrunner生成的测试报告有问题?

    问题:一个百度首页搜索的一个python+unittest测试,代码执行成功,但是用HTMLTestRunner输出的测试报告里面得内容有问题,具体问题是:测试条数,成功数,失败数都为0 代码 # ...

  6. 神器Jinja2,用 Python 快速生成分析报告!

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 夜阑卧听风吹雨,铁马冰河入梦来. ...

  7. Python 快速生成 web 动态展示机器学习项目!

    来源丨网络 作者丨wedo实验君 1. Streamlit 一句话,Streamlit是一个可以用python编写web app的库,可以方便的动态展示你的机器学习的项目. 优点 你不需要懂html, ...

  8. python382怎么用_教你如何使用Python快速生成验证码

    导读 本文教你如何利用Python库random,string生成大小写字母和数字的随机验证码. 利用Python库random,string生成大小写字母和数字的随机验证码 import rando ...

  9. python快速生成文字云_在Python中创建文字云或标签云

    作者|ISHA5 编译|Flin 来源|analyticsvidhya 介绍 从开始从事数据可视化工作的那一天起,我就爱上它了.我总是喜欢从数据中获得有用的见解. 在此之前,我只了解基本图表,例如条形 ...

最新文章

  1. mysql主从复制错误:Last_SQL_Error: Error #39;Duplicate entry #39;327#39; for key #39;PRIMARY#39;#39; ...
  2. 《玩转.NET Micro Framework 移植-基于STM32F10x处理器》--微软中国.NET Micro Framework项目组工程师所作之序...
  3. 算法:删除链表中重复的元素||
  4. mysql获取当月数据_Python + MySQL如何获取股票数据(历史数据)
  5. 如何删除mysql软链接,Linux中移除(删除)符号链接的命令
  6. java 网站 分类
  7. 我的世界电脑服务器怎么显示键盘,我的世界电脑版操作按键
  8. 电子齿轮 电子凸轮
  9. darts-clone、RABIT交叉编译
  10. 自然语言处理(NLP)入门(二)
  11. 实测办公场景下,国产远程控制软件的表现力如何?(技术解析)
  12. 什么是人工智能,它是如何使用的?
  13. 线性回归、逻辑回归学习笔记
  14. 分享一个很好的卸载绿色软件:Geek Uninstaller(个人用户免费)
  15. 东杰转债上市价格预测
  16. Windows上获取网卡的mac地址
  17. LeekCode3_无重复字符的最长子串(中等)
  18. 一个北大学子毕业后的感悟[转]
  19. Biological Psychiatry:为精准精神病学定义个体化功能神经解剖
  20. 余额宝​微服务深度治理

热门文章

  1. 极域电子教室有哪些优势-电子教室
  2. 视频帧差法实例(matlab实现)
  3. 华为网络设备上常用的安全技术
  4. CodeGear宣布最新的C++Builder版本 : C++Builder 2007
  5. 计算机常见故障以及维修方法
  6. 传统民间游戏于文化消费
  7. 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第34讲:PHP 封装、继承、多态
  8. python基础语法19-calendar模块
  9. 2006年重大病毒木马事件大阅兵
  10. 怎么设置计算机的开机音乐,如何设置电脑开机声音 教你怎么修改电脑开机登录的声音教程...