前言:
之前查资料unittest生成测试报告 html 用的基本都是HTMLTestRunner生成 html 测试报告。
比如:
import unittest
import HTMLTestRunner
discover = unittest.defaultTestLoader.discover('./', pattern='test_*.py')
if __name__ == '__main__':
fp = open('./report/report.html', 'wb')
run = HTMLTestRunner.HTMLTestRunner(
stream=fp,
title = 'SeleniumGrid方式运行用例',
description='单Node节点运行用例')
run.run(discover)
fp.close()
但是,经过测试,HTMLTestRunner现在无法下载使用,所以无法生成 html,不过经过我发现另一种可以生成 html 的简单方法,和HTMLTestRunner使用方法差不多,它就是HTMLTestReport。
一、HTMLTestReport安装和使用
使用 PyCharm+Python
1. 安装HTMLTestReport:
终端输入:pip install htmltestreport
或者代码中直接用,没安装会提示安装的,安装很快完成。
2. 使用HTMLTestReport生成 html:
import unittest
from htmltestreport import HTMLTestReport
discover = unittest.defaultTestLoader.discover('./', pattern='test_*.py')
if __name__ == '__main__':
# 实例化HTMLTestReport对象
report_path = './report/report.html'
report = HTMLTestReport(report_path,
title='SeleniumGrid方式运行用例',
description='单Node节点运行用例')
# 执行测试套件
report.run(discover)
二、完整案例如下:
实现:打开百度首页,输入内容并搜索。
代码如下:
1. test_baidu.py代码:(实现页面元素操作)
from selenium import webdriver
from time import sleep
import unittest
from selenium.webdriver.common.by import By
class TestBaidu(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Firefox()
@classmethod
def tearDownClass(cls):
cls.driver.quit()
def test_search_cn(self):
self.driver.get('https://www.baidu.com/')
self.driver.find_element(By.ID, 'chat-textarea').send_keys('思课帮')
self.driver.find_element(By.ID, 'chat-submit-button').click()
sleep(2)
def test_search_en(self):
self.driver.get('https://www.baidu.com/')
self.driver.find_element(By.ID, 'chat-textarea').send_keys('Thinkerbang')
self.driver.find_element(By.ID, 'chat-submit-button').click()
sleep(2)
if __name__ == '__main__':
unittest.main()
2. run.py代码:(运行test_baidu.py并生成 html测试报告)
# 生成 html报告
import unittest
from htmltestreport import HTMLTestReport
discover = unittest.defaultTestLoader.discover('./', pattern='test_*.py')
if __name__ == '__main__':
# 实例化HTMLTestReport对象
report_path = './report.html'
report = HTMLTestReport(report_path,
title='测试百度搜索功能',
description='中、英文都测试一次')
# 执行测试套件
report.run(discover)
3. 执行结果:
(1) 文件目录:运行后生成 report.html文件
运行后生成 report.html文件.png
(2) PyCharm 中 run.py运行结果显示:
PyCharm中 run.py运行结果.png
(3) 用浏览器打开 report.html
打开方式一.png
打开方式二.png
下面是打开后的报告内容:
report.html页面1.png
report.html页面2.png












网友评论