Python3下无法安装HTMLTestRunner问题解决方案

大家好,我是杨叔。每天进步一点点,关注微信公众号【程序员杨叔】,了解更多测试开发技术知识!

一、问题

Unittest框架作为Python自动化测试的入门框架,很多小伙伴参照网上的一些教程使用Unittest+HTMLTestRunner框架作为自动化测试框架开始学习时,发现自己无法安装HTMLTestRunner。

安装时报错如下:
在这里插入图片描述

二、原因

HTMLTestRunner是针对Python2.x的unittest单元测试框架用于生成HTML测试报告的扩展。但是,它并不支持Python3.x。即使参照网上的一些教程,修改HTMLTestRunner源码后能匹配Python3,最原始的htmlrunner生成的HTML报告也不是很好看:
在这里插入图片描述

三、解决方案

针对这种情况,网上已经有大佬帮我们优化了官方的HTMLTestRunner的测试报告模板并且直接兼容python3了,不需要重复造轮子了。并且也集成了邮件发送功能,感谢前辈无私奉献!
下载地址:https://github.com/SeldomQA/HTMLTestRunner

下载解压后,进入目录下使用以下命令:

python setup.py install

效果图如下:
在这里插入图片描述
明显比原生的报告要好看很多。优化后的库有定制的一些LOGO、链接在上面,并且是英文,不太方便。因此为了方便大家使用,杨叔又汉化优化了一版,最终效果如下:
在这里插入图片描述

邮件发送报告功能代码示例如下:

import unittest
from TestRunner import HTMLTestRunner
from TestRunner import SMTP

class TestDemo(unittest.TestCase):
    def test_success(self):
        """执行成功"""
        self.assertEqual(1+1, 2)

if __name__ == '__main__':
    suit = unittest.TestSuite()
    suit.addTest(TestDemo("test_success"))

    report = "./result.html"
    with(open(report, 'wb')) as fp:
        runner = HTMLTestRunner(
            stream=fp,
            title='Seldom自动化测试报告',
            description='浏览器chrome,平台windows'
        )
        runner.run(suit)
        
    # 发邮件功能,注意这里不是填邮箱密码而是授权码,授权码需要去邮箱设置里获取
    smtp = SMTP(user="user@qq.com", password="授权码", host="smtp.qq.com")
    smtp.sender(to="user@qq.com", attachments=report)

优化的汉化版我已上传到CSDN,需要的小伙伴可以直接下载:
HTMLTestRunner支持Python3版本中文优化版安装包

=========================================================
以上,如果对你有帮助,

欢迎搜索关注我的微信公众号【程序员杨叔】,免费了解获取更多测试相关干货内容资料,一起交流学习~
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值