我正在做一些测试,我希望将结果输出到Excel工作表中。这是非常简单的数据-仅是通过还是失败:
test1 PASSED
test2 FAILED
我能够像这样导出到一个csv文件中:
f = open('TestResults.csv', 'a')
f.write(test + "," + status)
f.close()
这将创建一个两列的表,第一列是测试名称,第二列是其通过还是失败(状态)。但是,我想格式化输出,以使带有“ PASSED”的行变成绿色,而带有“ FAILED”的行变成红色。我认为.csv文件不能包含这样的格式,因此它可能需要以某种方式进行转换。
我尝试使用该格式保存文件,但是下次打开该文件时,总是将其删除。
如果可能的话,我宁愿不下载外部模块就这样做。
谢谢。
由于这样做的主要目的是可视化结果,因此我决定将其发送到html文件。使用html,我能够以易于阅读的方式格式化所有内容。
尽管这可能不是最有效的方法,但是为了每次添加新行,我都在我的jython代码中创建了一个字符串,其中包含创建新行所需的html代码-然后插入了信息。如果有人好奇,这是html字符串在jython代码中的外观:
pageTemplate = "<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>" \
"<html>" \
"<head>" \
"<style type='text/css'>" \
"p {margin: 0em 0 0em 0}" \
"</style>" \
"<meta content='text/html; charset=ISO-8859-1'" \
"http-equiv='content-type'>" \
"<title>LogFile</title>" \
"</head>" \
"<body>" \
"<p><a href='%s.%s.png'>%s</a>%s%s</p>" \
"</body>" \
"</html>"
#color codes the status
if status == "PASSED":
status_colored = "<font color='green'>PASSED</font>"
else:
status_colored = "<font color='red'>FAILED</font>"
rest = self.delim + test + self.delim + comment + "\n"
dir = os.path.join(self.path,stamp)
#save new information to the logfile
contents = pageTemplate % (dir, status, stamp, self.delim + status_colored, rest)
logfile = open(self.csvpath, 'a')
logfile.write(contents)
logfile.close()
缺少的信息在代码的其他地方声明。而且,标头不是通过Jython代码硬编码到html文件本身中的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句