(四十五)自动化测试高级应用之HTML测试报告-修改HTMLTestRunner

随笔记录方便自己和同路人查阅。

#------------------------------------------------我是可耻的分割线-------------------------------------------

  学习selenium自动化之前,最好先学习HTML、CSS、JavaScript等知识,有助于理解定位及操作元素的原理。关于python和selenium安装请自行搜索别的资料,这里就不多做介绍了,所有例子均使用python3.6+selenium执行的。

#------------------------------------------------我是可耻的分割线-------------------------------------------

HTML测试报告

对软件测试人员来讲,测试的产出很难衡量。换句话说,测试人员的价值比较难以量化和评估,相信这一点对软件测试人员来说深有体会。我们花费了很多时间与精力所做的自动化也是如此。所以,需要一份漂亮且通俗易懂的测试报告来展示自动化测试成果。显然,一个简单的Log文件是不够的。

HTMLTestRunnerPython标准库unittest单元测试框架的一个扩展,它生成易于使用的HTML测试报告。HTMLTestRunner是在BSD许可证下发布的。

下载地址如下:

http://tungwaiyip.info/software/HTMLTestRunner.html

这个扩展非常简单,只是一个HTMLTestRunner.py文件,选中后单击鼠标右键,在弹出的快捷键菜单中选择目标另存为,将它保存到本地。安装方法也很简单,将其赋值到Python安装目录下即可。

Windows:将下载的文件保存到..Python3.6Lib目录下。

Linux:以Ubuntu为例,首先需要打开终端,找到Python的安装目录。打开终端后,输入Python命令进入Python交互模式,通过sys.path可以查看本机Python3的安装目录。

笔者是Windows,放置路径如下图:

修改HTMLTestRunner

因为HTMLTestRunner.py是基于Python2开发的,为了使其支持python3的环境,需要对其中的部分内容进行修改。下面通过编辑器打开HTMLTestRunner.py

需修改位置如下:

#第94行

import StringIO

修改为:

import io

 

#第539行

self.outputBuffer = StringIO.StringIO()

修改为:

self.outputBuffer = io.StringIO()

 

 

#第631行

print >>sys.stderr, '
Time Elapsed: %s' % (self.stopTime-self.startTime)

修改为:

print (sys.stderr, '
Time Elapsed: %s' % (self.stopTime-self.startTime))

 

#第642行

if not rmap.has_key(cls):

修改为:

if not cls in rmap:

 

#第766行

uo = o.decode('latin-1')

修改为:

Uo = e

 

#第772行

ue = e.decode('latin-1')

修改为:

Uo = e
原文地址:https://www.cnblogs.com/lirongyang/p/11595686.html