Selenium3自动化测试【40】Html测试报告

2022年05月14日 阅读数:5
这篇文章主要向大家介绍Selenium3自动化测试【40】Html测试报告,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

测试执行过程当中,当测试脚本运行完毕后,直接将运行完毕后的测试结果发给项目组成员,并非最优的选择。如何让测试结果变的易读美观,让测试结果变的人人可以看的懂,也是值得考虑的问题。html

HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展, 它能够生成HTML的测试报告。微信


欢迎可关注:【公众号】:柒哥测试;添加【WX】:Lee-890交流;markdown

1. HTMLTestRunner的介绍

HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展, 它能够生成HTML的测试报告。下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html,将下载后的HTMLTestRunner.py放到Python安装路径下的Lib文件中框架

2. HTMLTestRunner的优化

如今使用的Python版本大部分是Python3,而前面下载的HTMLTestRunner.py是基于Python2版本的,因此有些地方须要修改为符合Python3版本的规范要求,修改的地方以下(书籍提供的资料里是修改过符合Python3版本的HTMLTestRunner.py文件,无需本身下载了及修改了哦….)。less

第94行:
import StringIO 改成import io
第539行:
self.outBuffer=StringIO.String()改成self.outBuffer=io.StingIO()
第631行:
print>>sys.stderr.”\nTime Elapsed:%s’%(self.stopTime-self.startTime)改成print(sys.stderr.”\nTime Elapsed:%s’%(self.stopTime-self.startTime))
第642行:
if not map.has_key(cls)改成if not cls in map
第766行:
uo=o.decode(“latin-1”)改成uo=e
第772行:
ue=e.decode(“latin-1”)改成ue=e

3. 测试报告的生成

结合前面UnitTest单元测试框架章节中test_mathfunc.py为例,test_mathfunc.py内容以下:ide

import unittest
from UnitTestDemo.mathfunc import *

class TestMathFunc(unittest.TestCase):
    """测试mathfunc.py"""

     # @unittest.skip("don't run this case!")
     # @unittest.skipIf(3<2,"don't run this case!")
     #@unittest.skipUnless(1>2,"don't run this case!")
    def test_add(self):
        """测试加法add()"""
        self.assertEqual(3,add(1,2))
        self.assertNotEqual(3,add(2,2))

    def test_minus(self):
        """测试减法minus"""
        self.assertEqual(1,minus(3,2))

    def test_multi(self):
        """测试乘法multi"""
        self.assertEqual(6,multi(2,3))

    def test_divide(self):
        """测试除法divide"""
        self.assertEqual(2,divide(6,3))
        self.assertEqual(2.5,divide(5,2))

在工程的根目录下新建HtmlReport.py,代码以下:单元测试

import unittest
from HTMLTestRunner import HTMLTestRunner
from UnitTestDemo.test_mathfunc import TestMathFunc

if __name__ == "__main__":
    suite = unittest.TestSuite()
    # 执行加法、减法、除法
    tests = [TestMathFunc("test_add"),TestMathFunc("test_divide"),TestMathFunc("test_minus")]
    suite.addTests(tests)
    # addTest,添加单个TestCase
    # suite.addTest(TestMathFunc("test_multi"))
    f = open("d:\\reporter.html","wb")
    runner = HTMLTestRunner(stream=f,
                            title="测试报告",
                            description="测试用例执行状况")
    runner.run(suite)

运行HtmlReport.py文件,可观察到D盘下增长了reporter.html一个html文件。打开该html文件,展示结果如图8-1所示,能够经过页面直观的看到test_mathfunc.py中测试用例的执行状况。经过html测试报告,让测试结果变的直观易读。
1.jpg
::: hljs-center学习

图 html测试报告测试

:::优化


【51CTO】测试精讲课程


若是你觉的文章读的不过瘾,能够查看详细的视频教程。

《Python3+Selenium3自动化测试》精品视频课程
《全栈测试课程》精品系列课程

【测试全系列视频课程】请点击我哦…
https://edu.51cto.com/lecturer/968349.html)

测试学习路线以下

微信图片_20210816100905.png微信图片_202108161009051.png微信图片_202108161009052.png

微信图片_20210816100905.png微信图片_202108161009051.png微信图片_202108161009052.png
软件测试技能体系.jpg


0.9733767060093851.png
同步视频知识与系列知识内容,欢迎可关注:【公众号】:柒哥测试;
::: hljs-center

qrcode_for_gh_89e1cf643a7b_258.jpg

:::