关于python使用HTMLTestRunner生成测试报告的一些小技巧

HTMLTestRunner是unittest中的一个插件,使用HTMLTestRunner可以帮我们自动生成测试报告,经过自我摸索,总结了使用HTMLTestRunner有一些小技巧
1.更易读的测试报告
HTMLTestRunner生成的原有测试报告比较简单,为了让测试报告更容易理解,更直观,需要对报告进行更多的细节描述,这就需要注释。
语法重点见16行、26行:
‘’‘百度搜索测试报告’’’ # 加入testcase的描述
runner=HTMLTestRunner(stream=fp,title=‘这是一个简单的测试’,description=‘用例执行情况’) #创建测试报告,并对标题、用例执行情况进行描述

2.根据时间自动生成不同的测试报告名称
每次测试用例执行完毕后,总是要手动修改测试报告名称,不修改名称的话会生成同样的测试报告,而且会把之前的测试报告覆盖,这非常不便于管理测试报告。因为测试报告相当于档案一样需要随时查阅,而且检查不同阶段的报告,才能看出测试工作的具体成效或成功,所以我们需要保存测试报告,并且报告的名称要有一定的规范。于是,我们用时间函数time.strftime()让测试报告自动更改名称。
重点语法见24行 25行:
filetime=time.strftime(’%Y-%m-%d %H_%M_%S’) #定义当前时间
fp=open(‘D:\’+filetime+‘百度搜索测试报告.html’,‘wb’) #定义测试报告路径
先定义当前时间,然后使用open()函数创建测试报告,将测试报告存放至D盘路径下,并对测试报告名称进行时间+测试报告名称的拼接

详细代码如下,已调试通过,可直接copy至pycharme中运行(默认已配置好python环境变量/HTMLTestRunner等相关设置)

from selenium import webdriver
import time
import unittest
from HTMLTestRunner import HTMLTestRunner


class Baidu(unittest.TestCase):
    def setUp(self):
        self.driver=webdriver.Chrome()
        self.driver.get('http:\\www.baidu.com')

    def tearDown(self):
        self.driver.quit()

    def testSearch(self):
        '''百度搜索测试报告'''  # 加入testcase的描述
        self.driver.find_element_by_id('kw').send_keys('简单的测试')
        self.driver.find_element_by_id('su').click()
        time.sleep(2)

if __name__ == '__main__':
    test=unittest.TestSuite()     #创建测试集
    test.addTest(Baidu('testSearch'))    #将测试案例加入测试集
    filetime=time.strftime('%Y-%m-%d %H_%M_%S')  #定义当前时间
    fp=open('D:\\'+filetime+'百度搜索测试报告.html','wb')  #定义测试报告路径
    runner=HTMLTestRunner(stream=fp,title='这是一个简单的测试',description='用例执行情况')  #创建测试报告,并对标题、用例执行情况进行描述
    runner.run(test)  #执行测试用例
    fp.close()

你可能感兴趣的:(Python随笔)