测试报告是对测试过程的记录和总结,在形式上也是在各种不同的需求下有不同的表现,做为RobotFrameWork这个测试框架,已经内置了测试报告模板,用html展示,但某些人总是对这个看不惯,于是就想着对测试报告进行改造。
查找robot的api得知,其中有一个类ExecutionResult,是专门用来处理输出的测试报告,它可以解析output.xml,从而可以得到各种数据,得到数据,那就可以随意的玩了,目前我的做法,拿到数据保存在execl中,附上源码:
write_to_execl_file方法写入execl文件
def Write_To_Excel_File(filename, data):
"""
Write the values to the Excel file.
"""
#importlib.reload(sys)
#importlib.setdefaultencoding('cp936')
try:
xls_file = xlwt.Workbook('utf-8',filename)
sheet1 = xls_file.add_sheet('Test Report', cell_overwrite_ok=True)
sheet2 = xls_file.add_sheet('Test Result', cell_overwrite_ok=True)
#pass style
font = xlwt.Font()
font.bold = False
borders =xlwt.Borders()
borders.left=xlwt.Borders.THIN
borders.right = xlwt.Borders.THIN
borders.top = xlwt.Borders.THIN
borders.bottom = xlwt.Borders.THIN
borders.top_colour=0x40
borders.left_colour=0x40
borders.right_colour=0x40
borders.bottom_colour=0x40
style = xlwt.XFStyle()
style.borders=borders
style.font =font
# fail style
font0 = xlwt.Font()
borders0 = xlwt.Borders()
borders0.left = xlwt.Borders.THIN
borders0.right = xlwt.Borders.THIN
borders0.top = xlwt.Borders.THIN
borders0.bottom = xlwt.Borders.THIN
borders0.top_colour = 0x40
borders0.left_colour = 0x40
borders0.right_colour = 0x40
borders0.bottom_colour = 0x40
font0.bold = True
font0.colour_index=0x02
style0 = xlwt.XFStyle()
style0.borders=borders0
style0.font = font0
# 标题 style
font1 = xlwt.Font()
borders1 = xlwt.Borders()
pattern = xlwt.Pattern()
pattern.pattern=xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = 24
borders1.left = xlwt.Borders.THIN
borders1.right = xlwt.Borders.THIN
borders1.top = xlwt.Borders.THIN
borders1.bottom = xlwt.Borders.THIN
borders1.top_colour = 0x40
borders1.left_colour = 0x40
borders1.right_colour = 0x40
borders1.bottom_colour = 0x40
font1.bold = True
font1.colour_ind