博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
调用HtmlTestRunner生成测试报告为空
阅读量:6900 次
发布时间:2019-06-27

本文共 3525 字,大约阅读时间需要 11 分钟。

【环境信息】

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文件。

源地址: 这是针对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 3 from selenium.webdriver.common.by import By 4 #加载键盘使用的模块 5 from selenium.webdriver.common.keys import Keys 6 from selenium.webdriver.support.ui import Select 7 from selenium.common.exceptions import NoSuchElementException 8  9 #加载unittest模块10 import unittest 11 import time12 import re13 #加载HTMLTestRunner,用于生成HTMLreuslt14 import HTMLTestRunner15 16 class BaiduYun(unittest.TestCase):17     def 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=True23     def Login(self):24         browser=self.browser25         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()37     def Register(self):38         browser=self.browser39         browser.get(self.base_url+'/')40         u"""立即注册百度账号"""41         browser.find_element_by_class_name("link-create").click()42         time.sleep(2)43         browser.close()44     def Link(self):45         browser=self.browser46         browser.get(self.base_url+'/')47         u"""会员中心"""48         browser.find_element_by_link_text("会员中心").click()49         time.sleep(2)50         browser.close()51     def tearDown(self):52         self.browser.quit()53         self.assertEqual([],self.verficationErrors) 54 if __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()

 

转载于:https://www.cnblogs.com/bocotestgroup/p/6296690.html

你可能感兴趣的文章
vimwiki 介绍
查看>>
如何使用函数式编程?
查看>>
一些UTF-8编码问题
查看>>
TabHost详解
查看>>
bash的通配符与特殊符号
查看>>
个人博客作业三:微软小娜APP的案例分析
查看>>
python-玉米(小米)商城作业
查看>>
游戏超写实贴图制作技巧
查看>>
Unity Shader 创建程序纹理贴图
查看>>
uGUI知识点剖析之AutoLayout
查看>>
Eclipse调试DEBUG时快速查看某个变量的值的快捷键
查看>>
C#的Compiler Error CS1660
查看>>
记录未预编译文件“*.aspx”,因此不能请求该文件的几种处理办法
查看>>
《大话设计模式》读书笔记-第15章 抽象工厂模式
查看>>
一个朋友
查看>>
符合中国人习惯的oracle取周的日期函数
查看>>
转:汉字转拼音 - 输入汉字获取其拼音
查看>>
webservice(pers)
查看>>
hbase源码系列(十五)终结篇&Scan续集-->如何查询出来下一个KeyValue
查看>>
JBPM流程部署之部署环境初始化
查看>>