转: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()

原文地址:https://www.cnblogs.com/zipon/p/9059195.html

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

  1. python自动测试p-python自动化测试报告(excel篇)

    转:https://www.jianshu.com/p/6c5d328bf390 # -*- coding: utf-8 -*- import xlsxwriter def get_format(wd ...

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

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

  3. python自动测试a_python自动化单元测试

    python自动化单元测试 1. 前言 说实话,除了测试要求,我实在不知道写单元测试有什么意义,一个函数50行代码,有多种参数组合,为了测试这些条件,需要编写测试用例,写完的测试用例比需要测试的函数还 ...

  4. python自动测试g_python自动化测试windows gui

    Python高级编程(随书代码) 自动化脚本 G:\02.soft\$$python\py\pywinauto-0.4.0\pywinauto-0.4.0\docs\controls_overview ...

  5. python自动测试ping IP

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

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

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

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

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

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

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

  9. BDD - Specflow BDD 执行测试,生成测试报告 NUnit 篇

    BDD - Specflow BDD 执行测试,测试报告 NUnit 篇 引言 Nunit 执行测试 安装 NUnit.Console 执行 NUnit.Console 命令 Specflow 生成测 ...

最新文章

  1. 基于1.3.3版本tooltip的datagrid单元格tip实现
  2. 接口api全局挂载_第 6 篇:分页接口
  3. 大数据复核_【BIM技术】三维扫描结合BIM技术在结构复核中的应用
  4. mwc校准油门_编写下载服务器。 第五部分:油门下载速度
  5. rocketmq存储结构_RocketMQ消息存储
  6. checked exception和unchecked exception区别
  7. 有用的正则表达式或JS方法
  8. 08-08 性能测试--分布式
  9. LightOJ1171 Knights in Chessboard (II)(二分图最大点独立集)
  10. 在Ubuntu 14.04安装和使用Docker
  11. httpservletrequest 设置请求头_大部分程序员不知道的 Servelt3 异步请求,原来这么简单?
  12. 最好用的数据可视化神器,没有之一
  13. java内存堆栈的区别
  14. 做一个和瑞幸咖啡一样的小程序,就能3月赚24亿了吗?
  15. CAD2018下载AutoCAD2018下载安装教程附软件下载
  16. (转)2007北京高考作文题目(太有才了.我都看了无数遍了)
  17. java 日期比较_java日期大小比较
  18. Linux:DNS服务
  19. Ceph集群增加Mon时出错:admin_socket: exception getting command descriptions: [Errno 2] No such file or direc
  20. 等保测评2.0:MySQL身份鉴别(上)

热门文章

  1. 炫酷科技感超前的电子产品发布广告海报psd分层模板,带给你炫酷的未来感
  2. 梦幻粉色空间手机背景素材,爱梦想的设计师
  3. cuSPARSE库:(十)cusparseCreateMatDescr()
  4. Intel SDM Chapter 10: APIC
  5. Linux中使用Systemtap调试SLUB
  6. RFC 8998: ShangMi (SM) Cipher Suites for TLS 1.3
  7. Kubernetes复杂吗?Cube-新的容器管理服务产品
  8. ncurses面板库:new_panel(),doupdate(),show_panel(),hide_panel(),move_panel(),del_panel()...
  9. GTK实现绘图功能(draw.c)
  10. 计算机硬件故障处理及维护,计算机硬件故障处理与维护方法