转:https://www.jianshu.com/p/6c5d328bf390

# -*- coding: utf-8 -*-

import xlsxwriter

def get_format(wd, option={}):

return wd.add_format(option)

# 设置居中

def get_format_center(wd,num=1):

return wd.add_format({'align': 'center','valign': 'vcenter','border':num})

def set_border_(wd, num=1):

return wd.add_format({}).set_border(num)

# 写数据

def _write_center(worksheet, cl, data, wd):

return worksheet.write(cl, data, get_format_center(wd))

workbook = xlsxwriter.Workbook('report.xlsx')

worksheet = workbook.add_worksheet("测试总况")

worksheet2 = workbook.add_worksheet("测试详情")

def init(worksheet):

# 设置列行的宽高

worksheet.set_column("A:A", 15)

worksheet.set_column("B:B", 20)

worksheet.set_column("C:C", 20)

worksheet.set_column("D:D", 20)

worksheet.set_column("E:E", 20)

worksheet.set_column("F:F", 20)

worksheet.set_row(1, 30)

worksheet.set_row(2, 30)

worksheet.set_row(3, 30)

worksheet.set_row(4, 30)

worksheet.set_row(5, 30)

# worksheet.set_row(0, 200)

define_format_H1 = get_format(workbook, {'bold': True, 'font_size': 18})

define_format_H2 = get_format(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("blue")

define_format_H2.set_color("#ffffff")

# Create a new Chart object.

worksheet.merge_range('A1:F1', '测试报告总概况', define_format_H1)

worksheet.merge_range('A2:F2', '测试概括', define_format_H2)

worksheet.merge_range('A3:A6', '这里放图片', get_format_center(workbook))

_write_center(worksheet, "B3", '项目名称', workbook)

_write_center(worksheet, "B4", '接口版本', workbook)

_write_center(worksheet, "B5", '脚本语言', workbook)

_write_center(worksheet, "B6", '测试网络', workbook)

data = {"test_name": "智商", "test_version": "v2.0.8", "test_pl": "android", "test_net": "wifi"}

_write_center(worksheet, "C3", data['test_name'], workbook)

_write_center(worksheet, "C4", data['test_version'], workbook)

_write_center(worksheet, "C5", data['test_pl'], workbook)

_write_center(worksheet, "C6", data['test_net'], workbook)

_write_center(worksheet, "D3", "接口总数", workbook)

_write_center(worksheet, "D4", "通过总数", workbook)

_write_center(worksheet, "D5", "失败总数", workbook)

_write_center(worksheet, "D6", "测试日期", workbook)

data1 = {"test_sum": 100, "test_success": 80, "test_failed": 20, "test_date": "2018-10-10 12:10"}

_write_center(worksheet, "E3", data1['test_sum'], workbook)

_write_center(worksheet, "E4", data1['test_success'], workbook)

_write_center(worksheet, "E5", data1['test_failed'], workbook)

_write_center(worksheet, "E6", data1['test_date'], workbook)

_write_center(worksheet, "F3", "分数", workbook)

worksheet.merge_range('F4:F6', '60', get_format_center(workbook))

pie(workbook, worksheet)

# 生成饼形图

def pie(workbook, worksheet):

chart1 = workbook.add_chart({'type': 'pie'})

chart1.add_series({

'name': '接口测试统计',

'categories':'=测试总况!$D$4:$D$5',

'values': '=测试总况!$E$4:$E$5',

})

chart1.set_title({'name': '接口测试统计'})

chart1.set_style(10)

worksheet.insert_chart('A9', chart1, {'x_offset': 25, 'y_offset': 10})

def test_detail(worksheet):

# 设置列行的宽高

worksheet.set_column("A:A", 30)

worksheet.set_column("B:B", 20)

worksheet.set_column("C:C", 20)

worksheet.set_column("D:D", 20)

worksheet.set_column("E:E", 20)

worksheet.set_column("F:F", 20)

worksheet.set_column("G:G", 20)

worksheet.set_column("H:H", 20)

worksheet.set_row(1, 30)

worksheet.set_row(2, 30)

worksheet.set_row(3, 30)

worksheet.set_row(4, 30)

worksheet.set_row(5, 30)

worksheet.set_row(6, 30)

worksheet.set_row(7, 30)

worksheet.merge_range('A1:H1', '测试详情', get_format(workbook, {'bold': True, 'font_size': 18 ,'align': 'center','valign': 'vcenter','bg_color': 'blue', 'font_color': '#ffffff'}))

_write_center(worksheet, "A2", '用例ID', workbook)

_write_center(worksheet, "B2", '接口名称', workbook)

_write_center(worksheet, "C2", '接口协议', workbook)

_write_center(worksheet, "D2", 'URL', workbook)

_write_center(worksheet, "E2", '参数', workbook)

_write_center(worksheet, "F2", '预期值', workbook)

_write_center(worksheet, "G2", '实际值', workbook)

_write_center(worksheet, "H2", '测试结果', workbook)

data = {"info": [{"t_id": "1001", "t_name": "登陆", "t_method": "post", "t_url": "http://XXX?login", "t_param": "{user_name:test,pwd:111111}",

"t_hope": "{code:1,msg:登陆成功}", "t_actual": "{code:0,msg:密码错误}", "t_result": "失败"}, {"t_id": "1002", "t_name": "商品列表", "t_method": "get", "t_url": "http://XXX?getFoodList", "t_param": "{}",

"t_hope": "{code:1,msg:成功,info:[{name:123,detal:dfadfa,img:product/1.png},{name:456,detal:dfadfa,img:product/1.png}]}", "t_actual": "{code:1,msg:成功,info:[{name:123,detal:dfadfa,img:product/1.png},{name:456,detal:dfadfa,img:product/1.png}]}", "t_result": "成功"}],

"test_sum": 100,"test_success": 20, "test_failed": 80}

temp = 4

for item in data["info"]:

_write_center(worksheet, "A"+str(temp), item["t_id"], workbook)

_write_center(worksheet, "B"+str(temp), item["t_name"], workbook)

_write_center(worksheet, "C"+str(temp), item["t_method"], workbook)

_write_center(worksheet, "D"+str(temp), item["t_url"], workbook)

_write_center(worksheet, "E"+str(temp), item["t_param"], workbook)

_write_center(worksheet, "F"+str(temp), item["t_hope"], workbook)

_write_center(worksheet, "G"+str(temp), item["t_actual"], workbook)

_write_center(worksheet, "H"+str(temp), item["t_result"], workbook)

temp = temp -1

init(worksheet)

test_detail(worksheet2)

workbook.close()

python自动测试p-python自动化测试报告(excel篇)相关推荐

  1. python自动测试n_接口自动化:Jenkins 自动构建python+nose测试

    参考: 通过Jenkins自动化构建python nose测试分两步: 1. 创建节点(节点就是执行自动化测试的机器): 2. 创建任务并绑定节点(用指定的机器来跑我们创建的任务,这里我们选择执行一段 ...

  2. python自动测试h_软件自动化测试资源列表

    个人对相关的,觉得对自动化测试的朋友有用的资料做了个整理,希望能有所帮助 这里有TIB工作室收集的国内外关于软件自动化测试技术.工具.框架.理论相关的文章: 1.The Case for Automa ...

  3. python自动测试ping IP

    python自动测试ping IP,将不通的IP保存到txt中. # -*- coding: utf-8 -*- # @Time : 2023/3/6 9:14 # @Author : JulyLi ...

  4. python自动测试s_用 Python 开启测试自动化的未来

    使用 Python 脚本迈进先进的测试自动化技术 传统上,测试自动化工程师都是使用 shell 脚本和自主开发的工具进行自动测试.现在,测试团队可以使用 Python 软件更轻松.更稳健地完成他们的测 ...

  5. python自动测试p-关于《Python自动化测试实战》

    作者有话说 笔者写这本书的初心是想通过自身经验分享一些在自动化测试领域中的实用技术,能够帮助那些正在从事自动化测试相关工作或者准备转型自动化测试的测试人员.任何一门技术涵盖的知识点都是非常广泛的,可能 ...

  6. 怎么用python自动注册_python selenium自动化(二)自动化注册流程

    需求:使用python selenium来自动测试一个网站注册的流程. 假设这个网站的注册流程分为三步,需要提供比较多的信息: 在这个流程里面,需要用户填入信息.在下拉菜单中选择.选择单选的radio ...

  7. python自动测试g_Python自动化测试如何自动生成测试用例?

    原文作者:陈安妮annie1 原出处:简书 上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰,我们将立即处理.传统的测试用例需要测试或者开发人员将用户的操作用代码表示出来,通过断言判断是 ...

  8. python自动办公知识点_Python自动化办公知识点整理汇总|简明python教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? ​ 这可能是很多非IT职场人士面临的困 ...

  9. python自动测试q_阿里大牛教你基于Python的 Selenium自动化测试示例解析

    今天给大家讲解的是自动化测试示例的解析,如有不对的地方请多多指教. 自动化测试示例如下:from selenium import webdriver from selenium.webdriver.c ...

  10. python自动测试网络通断_Python测试网络连通性示例【基于ping】

    本文实例讲述了Python测试网络连通性.分享给大家供大家参考,具体如下: Python代码 #!/usr/bin/python # -*- coding:GBK -*- ""&q ...

最新文章

  1. 浙大吴飞「舌战」阿里贾扬清:AI内卷与年薪百万,哪个才是真实?
  2. JAVE SE 学习day_09:sleep线程阻塞方法、守护线程、join协调线程同步方法、synchronized关键字解决多线程并发安全问题
  3. 命令行 笔记本键盘禁用_宏碁发布Enduro系列三防笔记本电脑和平板电脑
  4. DDIA笔记——数据复制
  5. 程序员面试金典 - 面试题 16.14. 最佳直线(哈希map+set)
  6. 使用.NET进行高效率互联网敏捷开发的思考和探索【一、概述】
  7. Android 应用开发(第四章)---手机海外市场移动应用
  8. Linux 分区简介
  9. WindowsXP SP3 AFD.sys 本地拒绝服务漏洞的挖掘过程
  10. 基于SSM的酒店客房预订管理系统
  11. 怎么使用ping命令进行连通性测试
  12. MxNet系列——how_to——multi_devices
  13. 基于51单片机的篮球计时计分器仿真原理图PCB方案设计
  14. strcpy()、strncpy()和strcpy_s()函数的区别
  15. 手动抛出异常回滚事务,且返回数据给前端
  16. Java实验06-GUI文件加解密软件,ScrollPanel嵌套Boxlayout,DES分组加密算法,进度条控制
  17. SQLSERVER binary 和 varbinary 用法全解
  18. JAVA实现随机生成航班数据
  19. 【金猿投融展】极盾科技——业务数据安全专家
  20. visual studio community 2019安装

热门文章

  1. 数据库--悲观锁【收藏,待尝试】
  2. Groovy - 基本特性
  3. 【自然框架】稳定版beta1——源码下载,Demo说明
  4. D3.js(v3)+react 制作 一个带坐标与比例尺的散点图 (V3版本)
  5. 切换目录命令 - cd
  6. android银行卡匹配、详情展开动画、仿爱奇艺视频拖拽、扫码识别手机号等源码...
  7. linux开启FTP以及添加用户配置权限,只允许访问自身目录,不能跳转根目录
  8. [安卓基础] 006.打开另一个Activity
  9. 深入分析Linux内核源码oss.org.cn/kernel-book/
  10. 苹果新的编程语言 Swift 语言进阶(十三)--类型检查与类型嵌套