ui自动化生成HTML报告

对于软件测试人员来说,测试的产出很难衡量,换句话来说,测试人员的价值比较难以量化和评估,相信这一点对于软件测试人员说深有体会,因此我们就需要一份漂亮的测试报告来展示自己的产出。
HTMLTestRunner是python标准库unittest单元测试框架的一个扩展,易于生产html报告。
下载地址如下:http://tungwaiyip.info/software/HTMLTestRunner.html
这个拓展非常的简单Windows下直接将文件保存到python的lib目录下即可
修改HTMLTestRunner文件

  • 第94行
    import StringIO
    修改成:
    import io

  • 第539行
    self.outputBuffer = StingIo.StringIO()
    修改成
    self.outputBuffer = io.StringIO()

  • 第631行
    print >> sys.stderr, ‘\nTime Elapsed: %s’ % (self.stopTime-self.startTime)
    修改成
    print(sys.stderr, ‘\nTime Elapsed: %s’ % (self.stopTime-self.startTime))

  • 第642行
    if not ramp.has_key(cls):
    修改成
    if not cls in rmap:

  • 第766行
    uo = o.decode(‘latin-1’)
    修改成
    uo = e

  • 第772行
    ue = e.decode(‘latin-1’)
    ue = e
    全部改好后导入from HTMLTestRunner import HTMLTestRunner就可以了。
    下面看实现代码

if __name__ == '__main__':
    import time
    from HTMLTestRunner import HTMLTestRunner
    tesunit = unittest.TestSuite()
    n = 0
    while n <=1:        #执行测试用例,这里博主只写了两条用例,用例命名分别为test_1,test_2
        n+=1
        tesunit.addTest(Test_login('test_'+ str(n)))           #依次执行Test_login类下的test_1和test_2用例
    now = time.strftime("%Y-%m-%d %H_%M_%S")     #确定当前时间,保证测试报告标题的唯一性和可追溯性
    uli = 'D:/自动化报告/' + now + 'qq.html'     #将测试结果文件保存在D:/自动化报告/目录下命名为qq.html
    fp = open(uli, 'wb')               #以二进制的方式打开D:/自动化报告/目录的文件如果没有则创建一个
    runner = HTMLTestRunner(stream=fp, title='这是我的自动化测试报告', description='测试用例执行情况:')  #stream指定测试报告文件,title指定测试报告的标题,description指定测试报告的副标题
    runner.run(tesunit)    #执行测试套件中的所有测试用例
    fp.close()     #关闭测试报告文件

在写断言是博主故意写错一条断言,看测试报告是否能正确的显示出来
ui自动化生成HTML报告_第1张图片
可以正确提示错误。

你可能感兴趣的:(ui自动化生成HTML报告)