Python3.6+Unittest+HTMLTestRunner笔记

HTMLTestRunner是Python2中的,因为自己的环境是Python3.6,所有语法不通,需要有一些改动。

  • 下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html,右键另存为就OK了。
  • 下载文件放到自己电脑通过pip安装的包的文件夹内。(具体的可以在Pycharm上面随便点进去一个包,然后查看详细路径就OK)
  1. 修改文件

    第94行,将import StringIO修改成import io

    第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io.StringIO()

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

    第766行,将uo = o.decode('latin-1')修改成uo = e

    第772行,将ue = e.decode('latin-1')修改成ue = e

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

  2. 引入使用

    # 导包:
    from HTMLTestRunner import HTMLTestRunner
    # 使用
    if __name__ == '__main__':
        # unittest.main()
        suite = unittest.TestLoader().loadTestsFromTestCase(untest)
        f = open('./HTMLTest.html', 'wb')
        runner = HTMLTestRunner(stream=f, title=u"接口自动化测试报告", description=u"用例执行情况如下:")
        runner.run(suite)
        f.close()
    

备注:如果不使用 from进行导包:

# 导包:
import HTMLTestRunner
# 使用
if __name__ == '__main__':
    # unittest.main()
    suite = unittest.TestLoader().loadTestsFromTestCase(untest)
    f = open('./HTMLTest.html', 'wb')
    # 只有这一行有区别
    runner = HTMLTestRunner.HTMLTestRunner(stream=f, title=u"接口自动化测试报告", description=u"用例执行情况如下:")
    runner.run(suite)
    f.close()

需要通过命令执行python文件才会生成测试报告,还在继续学习,如果后续解决了这个问题,会进行更新...

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。