python3+selenium(二十五)生成HTMLTestRunner测试报告

一张漂亮的测试报告,相当于一张美丽的脸庞,谁都想更漂亮,对不?
HTMLTestRunner是python标准库的unittest模块的一个扩展,对应版本及下载地址如下:

 python2对应下载地址:

http://tungwaiyip.info/software/HTMLTestRunner.html

python3对应下载地址:

网盘地址:https://pan.baidu.com/s/1OFtBFf-V7l5YVvF8CAX_8Q
提取码:9z4i

Windows: 将下载文件放入…\python安装路径\Lib目录下

验证方法:
python交互模式下引入HTMLTestRunner包,如果没有报错就说明添加成功。

>>>import HTMLTestRunner
>>>

下面继续以baidu.py文件为例生成HTMLTestRunner测试报告:

# coding = UTF-8
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
import unittest,time,re,io
import HTMLTestRunner

class Baidu(unittest.TestCase):
    #初始化
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(20)
        self.base_url = "http://www.baidu.com"
        self.verificationErrors = []
        self.accept_next_alert = True
    #百度搜索
    def test_baidu_search(self):
        driver = self.driver
        driver.get(self.base_url+"/")
        driver.find_element_by_id("kw").send_keys("selenium webdriver")
        driver.find_element_by_id("su").click()
        time.sleep(2)
        driver.close()
    #百度设置每页展示条数
    def test_baidu_set(self):
        driver = self.driver
        driver.get(self.base_url+"/gaoji/preferences.html")
        RequType = driver.find_element_by_xpath("//select[@id='nr']")
        RequTypeOptionAll = RequType.find_elements_by_tag_name("option")
        for values in RequTypeOptionAll:
            print(values.get_attribute("value"))
            print(values.text)
            if "50" in values.text:
                values.click()
                break
        time.sleep(3)
        #保存设置
        driver.find_element_by_xpath("/html/body/form/div/input").click()
        time.sleep(2)
        #driver.switch_to_alert().accept()
        driver.switch_to.alert

    #清除
    def tearDown(self):
        self.driver.quit()
        self.assertEqual([],self.verificationErrors)

if __name__ == "__main__":
    #定义一个单元测试容器
    testunit=unittest.TestSuite()
    #将测试用例加入到测试容器中
    testunit.addTest(Baidu("test_baidu_search"))
    testunit.addTest(Baidu("test_baidu_set"))
	#定义报告存放路径,支持相对路径
    filename = 'D:/testpy/report/result.html'
    fp = open(filename,'wb')
	#定义测试报告,stream定义报告所写入的内容,title为报告标题,description为报告的说明与描述
    runner = HTMLTestRunner.HTMLTestRunner(
        stream=fp,
        title=u'百度搜索测试报告',
        description=u'用例执行情况:' )
	#运行测试用例
    runner.run(testunit)

脚本运行结果,生成的测试报告如下:
python3+selenium(二十五)生成HTMLTestRunner测试报告_第1张图片

你可能感兴趣的:(python3+selenium(二十五)生成HTMLTestRunner测试报告)