一、HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展,它可以生成 HTML的 测试报告。
1.首先要下 HTMLTestRunner.py 文件,将下载的文件放入…\python\Lib目录下
2.在IDLE里引入 HTMLTestRunner 包,如果没有报错(红),则说明添加成功,如下图:
二、all_tests.py
================
#coding=utf-8
'''
Project:通过测试套件执行多个测试用例,并生成报告
'''
import HTMLTestRunner
import unittest
import os,time
test = "D:\\Program Files\\PyDemo\\unit\\package\\test_case"
def createsuite1():
testunit=unittest.TestSuite()
discover=unittest.defaultTestLoader.discover(test,pattern='start_*.py',top_level_dir=None)
for test_suite in discover:
for test_case in test_suite:
testunit.addTests(test_case)
print(testunit)
return testunit
now = time.strftime("%Y-%m-%d %H_%M_%S",time.localtime())
filename="D:\\Program Files\\PyDemo\\unit\\package\\"+now+"_result.html"
fp=open(filename,'wb')
runner=HTMLTestRunner.HTMLTestRunner(
stream=fp,
title=u'搜索功能测试报告',
description=u'用例执行情况:')
runner.run(createsuite1())
#关闭文件流,不关的话生成的报告是空的
fp.close()
================
test目录下的测试用例
start_baidu.py
----------------------------
# coding=utf-8
'''
Project:登录百度测试用例
'''
from selenium import webdriver
import unittest, time
class BaiduTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.implicitly_wait(30) #隐性等待时间为30秒
self.base_url = "https://www.baidu.com"
def test_baidu_search(self):
u"""百度搜索"""
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(3)
title=driver.title
self.assertEqual(title, u"unittest_百度搜索")
def test_baidu_set(self):
u"""百度设置"""
driver=self.driver
driver.get(self.base_url+"/gaoji/preferences.html")
m=driver.find_element_by_name("NR")
time.sleep(1)
m.find_element_by_xpath("//option[@value='50']").click()
time.sleep(1)
def tearDown(self):
self.driver.quit()
if __name__ == "__main__":
unittest.main()
----------------------------
三、运行all_tests.py生成的报告如下