生成HTMLTestRunner测试报告的操作步骤——Python+selenium自动化

HTMLTestRunner是Python标准库的unittest模块的一个扩展,具体操作如下

1.安装

环境:Window8

步骤:1)http://tungwaiyip.info/software/HTMLTestRunner.html下载HTMLTestRunner.py文件
2)因为我使用的是python 3,所以在HTMLTestRunner.py文件中要做一下修改,修改内容如下:

修改一:

在python shell里输入>>>import HTMLTestRunner >>> dir(HTMLTestRunner) 发现不认识StringIO (No module named StringIO),确实3里面没有这个了,第94行引入的名称要改,改成import io,539行要改成self.outputBuffer = io.BytesIO()

修改二:运行程序的时候有报错,AttributeError: ‘dict‘ object has no attribute ‘has_key‘ 发现has_key的又被K掉了,所有到642行去做修改,if not rmap.has_key(cls): 需要换成if not

cls in rmap: (修改的时候换行、空格等不要改掉原有的格式)

修改三:

运行,继续有报错:‘str‘ object has no attribute ‘decode‘ 唉,好像是3里面对字符的操作,decode已经拿掉了。定位一下,报在了772行,ue = e.decode(‘latin-1‘),那么不需要decode

操作了吧,直接改成ue = e ,另外766还有类似的uo = o.decode(‘latin-1‘),可不动先留着;

修改四:

继续运行,发现还是在纠结数据类型的错:output = saxutils.escape(uo+ue), TypeError: can‘t concat bytes to str bytes和str不能直接连起来,那么778行的内容escape(uo+ue) 有一个处理的“笨办法”:都改成str,可修改该处内容为escape(str(uo)+ue)

修改五:(此处是最后一处改动了)

程序已然运行大半,但是最后还是有error:

print >>sys.stderr, ‘\nTime Elapsed: %s‘ % (self.stopTime-self.startTime)

TypeError: unsupported operand type(s) for >>: ‘builtin_function_or_method‘ and ‘RPCProxy‘

相信这条很多刚接触3.x的人都明白,2和3的print是很不同的,那么在3中,print 后面

是不会跟>>这样的,所以到631行,把print的语句修改掉,原来是print >>sys.stderr, ‘\nTime

Elapsed: %s‘ % (self.stopTime-self.startTime),可改成 print (sys.stderr, ‘\nTime Elapsed: %s‘ % (self.stopTime-self.startTime)) 每次修改后都要对HTMLTestRunner.py 保存一下。另外在3当中,打开本地文件需用fp =open(filename,‘wb‘),不要再去用file了;关闭该文件可用fp.close()

2.验证是否添加成功

在python交互模式下导入HTMLTestRunner.py包

>>import HTMLTestRunner

>>

出现以上信息择时添加成功

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

使用的例子如下:

#coding:utf-8

from test_case import search
from test_case import setting
import HTMLTestRunner
import unittest
import sys

testunit = unittest.TestSuite()
testunit.addTest(unittest.makeSuite(search.Baidu_Search))
testunit.addTest(unittest.makeSuite(setting.SetBai))

filename = ‘E:\\study_code\\Testing\\src\\result.html‘
fp = open(filename,‘wb+‘)
runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title=‘百度搜索测试报告‘,description=‘用例执行情况‘)

runner.run(testunit)

时间: 2025-01-06 00:10:12

生成HTMLTestRunner测试报告的操作步骤——Python+selenium自动化的相关文章

Python 同一文件中,有unittest不执行“if __name__ == '__main__”,不生成HTMLTestRunner测试报告的解决方案

1.问题:Python中同一个.py文件中同时用unittest框架和HtmlReport框架后,HtmlReport不被执行. 2.为什么?其实不是HtmlReport不被执行,也不是HtmlReport不生成测试报告,是因为if __name__ == '__main__'中的代码根本没执行好嘛! 3.解决方案的来源:因为最开始我的main代码中没有写print打印语句.没有生成HTML报告,我也在网上找了很久的方法,后来才怀疑是不是没有运行main方法,于是写了个print语句,果然没有运

转 生成 HTMLTestRunner 测试报告

转自:http://www.cnblogs.com/hero-blog/p/4128575.html 04.生成 HTMLTestRunner  测试报告 1.HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展.它生成易于使用的 HTML 测试报告 1>下载HTMLTestRunner.py文件,地址为: http://tungwaiyip.info/software/HTMLTestRunner.html Windows平台: 将下载的文件放入...\P

Python+selenium自动化公共逻辑步骤封装

开篇 个人博客"Python+selenium的GUI自动化实现"提到的chrome与IE浏览器调用插件已上传至51CTO下载,对应链接分别为:chrome,http://down.51cto.com/data/2171584:IE,http://down.51cto.com/data/2171585:有需要的直接下载即可:  正文 关于自动化,其实质就是用机器操作代替手工执行,从而减少人力投入.节约项目运营成功.优秀的自动化框架,可能的一个发展过程,前期自动化用例写作实现过程,可能需

python+selenium自动化环境搭建之后,能打开firefox,却不能执行自动化操作

python+selenium自动化环境搭建之后,选择执行,能够打开firefox,但是却不能继续执行后续操作.原因是selenium的版本与firefox的版本不兼容. 解决办法: 1.将firefox降到与selenium相对应的版本.例如我使用selenium版本是3.3.3,那我对应的firefox版本是52.0.2,如果firefox继续升级,也会出现不兼容的情况.建议可以在firefox的工具--选项--高级中设置为不检查更新,以免软件自动更新出现问题. 2.安装该浏览器版本对应的g

如何写好Python+Selenium自动化?

哈喽,各位客官好,今天我给大家讲讲如何使用Python+Selenium做自动化测试,楼主在做开发测试之前做得java开发,由于种种原因,楼主转成了开发测试,接着又自学了脚本语言linux和python,对于这两门脚本,我是非常的喜欢,为什么呢,因为用起来效率太高了,所以楼主弃java转python,至于为什么,不做多解释,你懂得.接下来我将给各位讲讲如何用python+selenium自动化 1,什么是selenium selenium是一个开源的自动化测试框架,主要适用WEB测试,可以支持多

python + selenium自动化环境常见问题小结

python + selenium自动化环境常见问题小结 (1)操作Windows窗口有三种方法,一是使用AutoIT软件生成exe程序,再用系统命令调用:二是使用SendKeys类模拟键盘操作(只能定位当前的焦点):三是使用pywinauto组件(win32gui) (2)pywinauto包只支持到python2.6版本.SendKeys包在python3.0版本上也无法安装成功. (3)执行完用例进行断言校验时,一般会获取元素的text属性,有时候在页面上查看元素有text值,而获取的为空

python+selenium自动化环境配置及使用实例

一.搭建环境相关地址以及相关模块下载地址 1.#各个浏览器驱动下载地址: https://www.cnblogs.com/nancyzhu/p/8589764.html 2.#sublime+python+selenium自动化配置教程: http://python.tedu.cn/know/289803.html 3.#html测试报告: https://github.com/defnngj/HTMLTestRunner         http://www.testpub.cn/t/213

Python+Selenium自动化模拟用户登录(备注:记录一次强行卸载rpm依赖包,引发的rpm、yum等命令异常,无法远程xftp工具)

近期在摸索Python+Selenium自动化,实现模拟用户登录搜索等操作,反馈相关日志,再交由Zabbix分析,监控页面访问是否正常. 期间需要对Linux火狐浏览器进行升级,由于生产环境为内网环境,无法使用yum进行升级.本想在外网环境下使用Docker进行安装,然后打成镜像后迁移到内网环境.但由于系统为Red Hat 6.4对Docker支持较差,故在外网将相关依赖包下载后进行安装. 外网环境下,下载Firefox及相关依赖组件相关操作.         1.更新本地yum源为阿里yum源

python selenium自动化屏蔽chrome“正受到自动化测试软件的控制”、“开发者模式”、“保存密码提示”

python selenium自动化屏蔽chrome“正受到自动化测试软件的控制”.“开发者模式”.“保存密码提示” from selenium import webdriver option = webdriver.ChromeOptions() #屏蔽自动化受控提示 && 开发者提示 option.add_experimental_option("excludeSwitches", ['enable-automation', 'load-extension']) #