使用Python标准库unittest单元测试框架的一个扩展文件来生成HTML文件:HTMLTestRunner。
下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
适配python3需修改如下几行代码,修改完成如附件所示:
94行, import StringIO
539行,self.outputBuffer = StringIO.StringIO()
631行,print >>sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)
642行,if not rmap.has_key(cls):
766行,uo = o.decode('latin-1')
772行,ue = e.decode('latin-1')
windows将下载的文件保存到:PythonXX\Lib目录下。
原文链接:https://blog.csdn.net/XingLongSKY/article/details/89309729
#coding:utf-8
from selenium import webdriver
import unittest
from HTMLTestRunner import HTMLTestRunner
import time
class TestBaidu(unittest.TestCase):
def setUp(self) :
'''init 初始化'''
self.driver = webdriver.Firefox()
self.driver.maximize_window()
self.driver.implicitly_wait(10) #隐形等待
self.url = 'http://www.baidu.com/'
def test_baidu_action(self):
'''main testing 测试部分'''
self.driver.get(self.url)
self.driver.find_element_by_id('kw').send_keys("python3")
self.driver.find_element_by_id('su').click()
time.sleep(2)
def tearDown(self):
'''close resource 释放资源'''
self.driver.quit()
if __name__ == '__main__':
testunit = unittest.TestSuite() # 初始化测试用例集合对象,构建测试套件
testunit.addTest(TestBaidu('test_baidu_action')) # 把测试用例加入到测试用力集合中去
filename = time.strftime("%Y%m%d%H%M%S",time.localtime(time.time()))+'_测试报告.html'
fp = open(filename,'wb')
runner = HTMLTestRunner(stream=fp, title='百度搜索测试报告', description='用例执行情况') # 定义测试报告
runner.run(testunit) # 执行测试用例
fp.close()
'''
Pycharm+HTMLTestRunner不能生成报告解决方法
原因:pycharm 在运行测试用例的时候 默认是以unittest 框架来运行的,所以不能生成测试报告。
参考文章:https://www.cnblogs.com/santiandayu/p/10004179.html
如何判断是否以unittest框架运行
只要运行环境是unittest in …的,就都是以unittest框架运行的
解决:
只要不以unittest框架方式运行就可解决不能生成报告的问题。可自己新增一个不以unittest框架方式运行的环境。
1)如下点击edit configurations–>选中python–>点击+
2)点击python
3)填写环境名称和脚本路径
4)选择步骤三种新增的环境,运行脚本,即可生成报告
来源:https://blog.csdn.net/prolrj2015/article/details/86628335
或是 快捷键
shift + alt +f10
'''