测牛学堂:软件测试python自动化生成测试报告

python生成html测试报告

测试报告,是测试结果的体现形态。
测试报告包含了测试用例的详情。
html测试报告,就是执行完测试用例之后,以html网页的方式将执行结果生成报告。

HTMLTestReport

unitTest框架本身不支持生成html报告,但是网上有比较多的库都可以实现。基本原理是相同的,只是html的样式有差别。
我们以HTMLTestReport为例进行学习,如果工作中用的是其他的,我们只需要稍微了解即可掌握。
1 安装

pip install HTMLTestReport

2 使用方法
2-1导包unittest,HTMLTestReport
2-2组装用例
2-3使用HTMLTestReport中的runner执行套件
2-4查看报告

代码示例

import unittest
from htmltestreport import HTMLTestReport

from test2 import TestAdd

# 套件
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestAdd))

runner = HTMLTestReport('./report/Test_add_report.html','加法用例测试报告','demo的展示')
runner.run(suite)

生成的html:
测牛学堂:软件测试python自动化生成测试报告_第1张图片

设置测试报告的路径

有时候为了规范,我们会给测试报告的生成路径设置绝对路径。
可以利用python中的path模块去实现
代码示例:

import os
# __file__ 特殊的变量,表示当前代码文件名
path1 = os.path.abspath(__file__) #获取文件的路径
path2 = os.path.dirname(path1)
BASE_DIR = path2

unitTest中的跳过

对于一些未完成的或者不满足测试条件的测试函数和测试类,可以跳过执行。
类似于函数中的pass语句
两种方式:
直接执行
unittest.skip(‘跳过的原因’)
根据判断条件执行
unittest.skipIf(判断条件,reason= ‘原因’)
代码示例:

import unittest

version = 10
class TestSkip(unittest.TestCase):
    @unittest.skip('原因:跳过第一个用例')
    def test_1(self):
        print('test1')

    @unittest.skipIf(version == 10, '在第10个迭代中不测该用例')
    def test_2(self):
        print('test2')

    def test_3(self):
        print('test3')
if __name__ == '__main__':
    unittest.main()

你可能感兴趣的:(python,自动化,开发语言)