|
- # encoding: utf-8
- """
- @author: lileilei
- @file: pyreport_excel.py
- @time: 2017/6/7 8:47
- """
- import os, xlwt, yaml
- from xlwt import *
-
-
- def yangshi1():
- style = XFStyle()
- fnt = Font()
- fnt.name = u'微软雅黑'
- fnt.bold = True
- style.font = fnt
- alignment = xlwt.Alignment()
- alignment.horz = xlwt.Alignment.HORZ_CENTER
- alignment.vert = xlwt.Alignment.VERT_CENTER
- style.alignment = alignment # 给样式添加文字居中属性
- style.font.height = 430 # 设置字体大小
- return style
-
-
- def yangshi2():
- style1 = XFStyle()
- alignment = xlwt.Alignment()
- alignment.horz = xlwt.Alignment.HORZ_CENTER
- alignment.vert = xlwt.Alignment.VERT_CENTER
- style1.alignment = alignment # 给样式添加文字居中属性
- style1.font.height = 330 # 设置字体大小
- return style1
-
-
- def yangshi3():
- style1 = XFStyle()
- style1.font.height = 330 # 设置字体大小
- return style1
-
-
- def yangshique(me):
- if me == 'pass':
- style = yangshi1()
- Pattern = xlwt.Pattern()
- Pattern.pattern = xlwt.Pattern.SOLID_PATTERN
- Pattern.pattern_fore_colour = xlwt.Style.colour_map['green']
- style.pattern = Pattern
- else:
- style = yangshi2()
- Pattern = xlwt.Pattern()
- Pattern.pattern = xlwt.Pattern.SOLID_PATTERN
- Pattern.pattern_fore_colour = xlwt.Style.colour_map['red']
- style.pattern = Pattern
- return style
-
-
- def create(filename, list_pass, list_fail, listids, listnames, listkeys, listconeents, listurls, listfangshis,
- listqiwangs, list_json, listrelust):
- filepath = open(os.path.join(os.path.join(os.getcwd(), 'config'), 'test_report.yaml'), encoding='utf-8')
- file_config = yaml.load(filepath, Loader=yaml.FullLoader)
- file = Workbook(filename)
- table = file.add_sheet('测试结果', cell_overwrite_ok=True)
- style = yangshi1()
- for i in range(0, 7):
- table.col(i).width = 380 * 20
- style1 = yangshi2()
- table.write_merge(0, 0, 0, 6, '测试报告', style=style)
- table.write_merge(1, 1, 0, 6, '', style=style)
- table.write_merge(2, 3, 0, 6, '测试详情', style=style1)
- table.write(4, 0, '项目名称', style=style1)
- table.write(5, 0, '接口版本', style=style1)
- table.write(6, 0, '提测时间', style=style1)
- table.write(7, 0, '提测人', style=style1)
- table.write(4, 2, '测试人', style=style1)
- table.write(5, 2, '测试时间', style=style1)
- table.write(6, 2, '审核人', style=style1)
- table.write(4, 4, '通过', style=style1)
- table.write(5, 4, '失败', style=style1)
- table.write(6, 4, '成功率', style=style1)
- table.write(4, 1, (file_config['projectname']), style=style1)
- table.write(5, 1, file_config['interfaceVersion'], style=style1)
- table.write(6, 1, file_config['tijiao_time'], style=style1)
- table.write(7, 1, file_config['tijiao_person'], style=style1)
- table.write(4, 3, file_config['ceshi_person'], style=style1)
- table.write(5, 3, file_config['ceshi_time'], style=style1)
- table.write(6, 3, file_config['shenhename'], style=style1)
- table.write(4, 5, (list_pass), style=style1)
- table.write(5, 5, (list_fail), style=style1)
- table.write(6, 5, ('%.2f%%' % ((list_pass) / (len(listrelust)))), style=style1)
- table1 = file.add_sheet('测试详情', cell_overwrite_ok=True)
- table1.write_merge(0, 0, 0, 8, '测试详情', style=style)
- for i in range(0, 8):
- table1.col(i).width = 400 * 20
- table1.write(1, 0, '用例ID', style=yangshi3())
- table1.write(1, 1, '用例名字', style=yangshi3())
- table1.write(1, 2, 'key', style=yangshi3())
- table1.write(1, 3, '请求内容', style=yangshi3())
- table1.write(1, 4, ' url', style=yangshi3())
- table1.write(1, 5, '请求方式', style=yangshi3())
- table1.write(1, 6, '预期', style=yangshi3())
- table1.write(1, 7, '实际返回', style=yangshi3())
- table1.write(1, 8, '结果', style=yangshi3())
- for i in range(len(listids)):
- table1.write(i + 1, 0, listids[i], style=yangshi3())
- table1.write(i + 1, 1, listnames[i], style=yangshi3())
- table1.write(i + 1, 2, listkeys[i], style=yangshi3())
- table1.write(i + 1, 3, listconeents[i], style=yangshi3())
- table1.write(i + 1, 4, listurls[i], style=yangshi3())
- table1.write(i + 1, 5, listfangshis[i], style=yangshi3())
- table1.write(i + 1, 6, listqiwangs[i], style=yangshi3())
- table1.write(i + 1, 7, str(list_json[i]), style=yangshi3())
- table1.write(i + 1, 8, listrelust[i], style=yangshique(listrelust[i]))
- file.save(filename)
|