调用HtmlTestRunner生成测试报告为空
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了调用HtmlTestRunner生成测试报告为空,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3310字,纯文字阅读大概需要5分钟。
内容图文
【环境信息】
Python3.6+selenium3.0.2+HtmlTestRunner0.8+Firefox50+Win7
【问题描述】
1.HtmlTestrunner是unittest的一个扩展,目前在网上下载的版本是0.8,由于和Python3存在不兼容的地方,所以运行时会报错或报告为空。
【解决方案】
1.参考博客:http://blog.csdn.net/liujingqiu/article/details/50518776
根据该博客的描述,修改HtmlTestrunner.py文件后再运行脚本。
博客正文粘贴如下(博客为转载:http://blog.csdn.net/liujingqiu/article/details/50518776)
首先,下载HTMLTestRuner.py文件。
源地址:http://tungwaiyip.info/software/HTMLTestRunner.html 这是针对Python2.7版本,那么对于Python3.x的使用,需要改动几处。
同时谢谢 的分享。
具体改动如下:
第94行,将import StringIO修改成import io
第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer= io.StringIO()
第631行,将print >> sys.stderr, ‘\nTime Elapsed: %s‘ %(self.stopTime-self.startTime)修改成print(sys.stderr, ‘\nTimeElapsed: %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
第775行,将ue = e.decode(‘latin-1‘)修改成ue = e
第778行,将output = saxutils.escape(uo+ue),修改成output = saxutils.escape(str(uo)+str(ue)),
将上述几处改动,保存成功后,再将HTMLTestRunner.py放到C:\Python34\Lib目录中,检验是否加载成功,在Python IDLE 中输入 import HTMLTestRunner 若无报错,那么加载成功。
【参考案例】
1.登录百度云
2.进入“立即注册百度账号”网页
3.进入”会员中心”网页
4.生成测试报告的文件名为:2015-01-02result.html。
1 # coding=utf-8 #防止中文乱码 2 from selenium import webdriver 3from selenium.webdriver.common.by import By 4#加载键盘使用的模块 5from selenium.webdriver.common.keys import Keys 6from selenium.webdriver.support.ui import Select 7from selenium.common.exceptions import NoSuchElementException 8 9#加载unittest模块10import unittest 11import time 12import re 13#加载HTMLTestRunner,用于生成HTMLreuslt14import HTMLTestRunner 1516class BaiduYun(unittest.TestCase): 17def setUp(self): 18 self.browser=webdriver.Chrome() 19 self.browser.implicitly_wait(30) 20 self.base_url="http://yun.baidu.com"21 self.verficationErrors=[] 22 self.accept_next_alert=True 23def Login(self): 24 browser=self.browser 25 browser.get(self.base_url+‘/‘) 26 u"""百度云登录"""27 browser.find_element_by_name("userName").clear() 28 username=browser.find_element_by_name("userName") 29 username.send_keys("alu***") 30 username.send_keys(Keys.TAB) 31 time.sleep(2) 32 password=browser.find_element_by_name("password") 33 password.send_keys("***") 34 password.send_keys(Keys.ENTER) 35 time.sleep(3) 36 browser.close() 37def Register(self): 38 browser=self.browser 39 browser.get(self.base_url+‘/‘) 40 u"""立即注册百度账号"""41 browser.find_element_by_class_name("link-create").click() 42 time.sleep(2) 43 browser.close() 44def Link(self): 45 browser=self.browser 46 browser.get(self.base_url+‘/‘) 47 u"""会员中心"""48 browser.find_element_by_link_text("会员中心").click() 49 time.sleep(2) 50 browser.close() 51def tearDown(self): 52 self.browser.quit() 53 self.assertEqual([],self.verficationErrors) 54if__name__=="__main__": 55#unittest.main()56 testunit=unittest.TestSuite() 57#将测试用例加入到测试容器中58 testunit.addTest(BaiduYun("Login")) 59 testunit.addTest(BaiduYun("Register")) 60 testunit.addTest(BaiduYun("Link")) 61#获取当前时间,这样便于下面的使用。62 now = time.strftime("%Y-%m-%M-%H_%M_%S",time.localtime(time.time())) 63#打开一个文件,将result写入此file中64 fp=open("result"+now+".html",‘wb‘) 65 runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title=‘test result‘,description=u‘result:‘) 66 runner.run(testunit) 67 fp.close()
原文:http://www.cnblogs.com/bocotestgroup/p/6296690.html
内容总结
以上是互联网集市为您收集整理的调用HtmlTestRunner生成测试报告为空全部内容,希望文章能够帮你解决调用HtmlTestRunner生成测试报告为空所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。