Selenium 2自动化测试实战35(HTML测试报告)

守給你的承諾、 提交于 2019-12-03 11:20:42

HTML测试报告

显然,一份漂亮的测试报告展示自动化测试成果只有一个简单的log文件是不够的。
HTMLTestRunner是python标准库unittest单元测试框架的一个扩展,它生成易于使用的HTML测试报告。
下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
下载HTMLTestRunner.py文件,选中后右键另存为,保存到本地,然后将其放在python安装目录下的Lib目录下。即:Windows保存到…\pytohn27\Lib目录下。


在python交互模式下引入HTMLTestRunner模块,如果系统没有报错,则说明添加成功,如下图所示

 

 


2.修改HTMLTestRunner
因为HTMLTestRunner.py是基于python2开发的,为了使其支持python3的环境,需要对其中的部分内容进行修改,如下图所示。
#第94行

 

 

#第540行

 

#第633行


#第646行

 

 

 

#第771行

 

 


#第778行

 

 


3.生成HTML测试报告
下面继续以test_baidu.py文件为例生成HTMLTestRunner测试报告。(注意:由于当前本人使用的是python2.7,所以不能修改HTMLTestRunner.py文件)

#test_baidu.py
#coding:utf-8
from selenium import webdriver
from HTMLTestRunner import HTMLTestRunner
import unittest
import time

class MyTest(unittest.TestCase):

    def setUp(self):
        self.driver=webdriver.Chrome()
        self.driver.maximize_window()
        self.driver.implicitly_wait(10)
        self.base_url="http://www.baidu.com"

    def test_baidu(self):
        driver=self.driver
        driver.get(self.base_url+"/")
        driver.find_element_by_id("kw").clear()
        driver.find_element_by_id("kw").send_keys("unittest")
        driver.find_element_by_id("su").click()
        time.sleep(2)
        title=driver.title
        self.assertEqual(title,u"unittest_百度搜索")

    def tearDown(self):
        self.driver.quit()

if __name__=="__main__":
    testunit=unittest.TestSuite()
    testunit.addTest(MyTest("test_baidu"))

    #定义报告存放路径
    fp=open('./result.html','wb')

    #定义测试报告
    runner=HTMLTestRunner(stream=fp,title=u'百度搜索测试报告',description=u'用例执行情况:')

    runner.run(testunit)#运行测试用例
    fp.close()#关闭报告文件

  

代码分析:
1.首先,将HTMLTestRunner模块用import导入进来。
2.通过open()方法一二进制写模式打开当前目录下的result.html,如果没有,则自动创建该文件。
3.调用HTMLTestRunner模块下的HTMLTestRunner类,stream指定测试报告文件,title用于定义测试报告的标题,description用于定义测试报告的副标题。
4.最后,通过HTMLTestRunner的run()方法来运行测试套件中的测试用例,最后,通过close()关闭测试报告文件。
5.用例执行完成后,打开“result.html”文件查看生成的测试报告,如下图所示:

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!