创建报告(Excel文件)
项目结束:Suite Teardown
主要目的:创建一份清晰的Excel报告
源代码:report.py
一、项目结束:Suite Teardown
在项目结束时,创建报告。
二、CSV vs. Excel报告
CSV文档无法调整格式,是以纯数据方式存储(参考个人博客CSV报告生成)。
Excel文档比较灵活,可以自定义格式。
二、数据源(测试结果)
Create Excel Report | %{G_TOTAL_RESULT}
数据源:%{G_TOTAL_RESULT} 在 Common_Test_Teardwon 中记录。
${TEST_NAME}:RIDE 自带变量,用例名
${TEST_STATUS}:RIDE 自带变量,用例状态(PASS 或者 FAIL)
${TEST MESSAGE}:RIDE 自带变量,用例报错信息
三、report.py 源代码
# -*- encoding = cp936 -*-
# Author: Allan
# Version: 2.0
# Data: 2017-5-9
import os, sys
import csv
import xlwt
import datetime
class report():
def __init__(self):
#Current Log Path:
self.curr_dir = 'f:\\robotframework\\logs\\current'
def Read_From_File(self, filename):
# Read data from the given file
file = os.path.join(self.curr_dir, filename) # Default File Path
try:
f = open(file)
data = f.read()
except Exception, e:
print str(e)
finally:
f.close()
return data
def Write_To_CSV_File(self, filename, *data):
"""
Write the values to the CSV file.
"""
reload(sys)
sys.setdefaultencoding('cp936')
with open(filename, 'wb') as csvfile:
spamwriter = csv.writer(csvfile, dialect='excel')
spamwriter.writerow(['Test Result'])
spamwriter.writerow(['Case', 'Status', 'Error Message'])
for row in data:
for col in row:
print col
spamwriter.writerow(col)
def Reorganize_Data(self, data):