Python3 引用HTMLTestRunner生成测试报告

Appium环境搭建以及运行测试用例的工具都在前两篇文章中介绍过了链接如下,今天就简单学习一下如何在跑完测试用例之后生成一张简单的测试报告。

Appium环境搭建: https://blog.csdn.net/CCstar1/article/details/101543977

Appium+VSCode环境搭建:https://blog.csdn.net/CCstar1/article/details/102498604

一.下载HTMLTestRunner.py

下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html

下载下来记得一定要放在lib/python3.7 路径下,参考我的完整路径是:

/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/HTMLTestRunner.py

二.修改HTMLTestRunner.py文件满足python3

由于我们下载到的这个HTMLTestRunner.py文件是基于python2写的,并不能在python3使用。我们需要手动更改文件使之可以在python3中使用。下面详细介绍需要更改的几个地方。这里我使用VSCode打开修改。

1、第94行

import StringIO
更改为:

import io
2、第539行

self.outputBuffer = StringIO.StringIO()
更改为:

self.outputBuffer = io.StringIO()
3、第631行

print >>sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)
更改为:

sys.stderr.write('\nTime Elapsed: %s\n' % (self.stopTime - self.startTime))
4、第642行

if not rmap.has_key(cls):
更改为:

if cls not in rmap:
5、第687行

self.stream.write(output.encode('utf8'))
更改为:

self.stream.write(output)
6、第766行

uo = o.decode('latin-1')
更改为:

uo = o
7、第772行

ue = e.decode('latin-1')
更改为:

ue = e
8、第778行

output = saxutils.escape(uo+ue),
更改为:

output = saxutils.escape(str(uo)+ue),

这里由于我存储和多次复制粘贴导致HTMLTestRunner乱码浪费了很多时间,和我一样对Python算小白如果引用遇到问题可以向这个方面考虑。

三.编写代码生成测试报告

新建TestRunner.py,如下

import time
import os
import unittest

from HTMLTestRunner import HTMLTestRunner
test_dir = '/Users/xxx/Downloads/VSCodeAutoTest'
discover = unittest.defaultTestLoader.discover(test_dir, pattern="Test1*.py")

if __name__ == "__main__":
    report_dir = './TestReport'
    os.makedirs(report_dir, exist_ok=True)
    now = time.strftime("%Y-%m-%d %H-%M-%S")
    report_name = '{0}/{1}.html'.format(report_dir, now)

    with open(report_name, 'w')as f:
        runner = HTMLTestRunner(stream=f, title="测试报告", description="本测试报告内容包含登录简单测试")
        runner.run(discover)

在VSCode终端输入:

python3 TestRunner.py

之后就会在TestReport目录下生成2019-10-12 14-46-48.html测试报告,用浏览器打开如下图所示:

简单的测试报告就生成了,欢迎大家提问一起学习。 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值