生成HTMLTestRunner测试报告的操作步骤——Python+selenium自动化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成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)
以上是关于生成HTMLTestRunner测试报告的操作步骤——Python+selenium自动化的主要内容,如果未能解决你的问题,请参考以下文章
Python+Selenium----使用HTMLTestRunner.py生成自动化测试报告2(使用PyCharm )
python搭配selenium,htmltestrunner实现自动化测试 —— (测试思路和基础步骤)