1.下载HTMLTestRunner.py

HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展。它生成易于使用的 HTML 测试报告。HTMLTestRunner 是在 BSD 许可证下发布。
(1)下载 地址:http://tungwaiyip.info/software/HTMLTestRunner.html   -->

(2)点击HTMLTestRunner.py进入目标文件后,右键另存于即可。

(3)python3中用HTMLTestRunner.py报ImportError: No module named ‘StringIO‘的解决方法:

  

第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))

(4)修改后下载链接: https://pan.baidu.com/s/13vLRRq9IB2B2y-OwTWrepg 提取码: 89pd

Windows :将下载的文件放入Python34的安装目录...\Python34\Lib 目录下

2.导入 htmltestrunner 模块包

 from HTMLTestRunner import HTMLTestRunner
import unittest
from time import strftime 或者import time,datetime
import os
from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart # 邮件格式 from email.mime.image import MIMEImage # 发送带图片邮件

3.定义测试用例路径

test_dir = './testcase/'

或者

list_1 = 'test_case\\testcase'

4.查找元素(testcase)

discover = unittest.defaultTestLoader.discover(test_dir,'*case.py')

5.定义测试报告文件名以及取前面时间加入到测试报告文件名中

# 定义报告存放路径,支持相对路径

file_name = './report/' + strftime('%Y_%m_%d_%H_%M_%S') + '.html'

6.创建文件

fp = open(file_name,'wb')
HTMLTestRunner(stream=fp,description='描述',title='标题').run(discover)

7.关闭文件

fp.close()

附件:

# -*- coding: utf-8 -*-

import unittest
from HTMLTestRunner import HTMLTestRunner
import time,os,datetime
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage # 取test_case文件夹下所有用例文件
def creatsuitel(lists):
testunit = unittest.TestSuite()
# discover 方法定义
discover = unittest.defaultTestLoader.discover(lists, pattern='start_*.py', top_level_dir=None)
#discover 方法筛选出来的用例,循环添加到测试套件中
for test_suite in discover:
for test_case in test_suite:
testunit.addTests(test_case)
print(testunit)
return testunit
list_1 = 'test_case\\test_case_1'
alltestnames = creatsuitel(list_1) #取前面时间加入到测试报告文件名中
now = time.strftime("%Y-%m-%M-%H_%M_%S", time.localtime(time.time()))
filename = "report\\"+now+'result.html' #定义个报告存放路径,支持相对路径。
fp = open(filename, 'wb')
runner = HTMLTestRunner(stream=fp, title='Report_title', description='Report_description') if __name__ == "__main__":
# 执行测试用例集并生成报告
runner = unittest.TextTestRunner()

使用 HTMLTestRunner 模块生成HTML格式的测试报告文件的更多相关文章

  1. Python 中 使用 HTMLTestRunner 模块生成测试报告

     使用 HTMLTestRunner 模块可以生成测试报告,但是系统自带的报告不详细,不好看,所以找了一份详细的报告 HTMLTestRunner 模板,直接导入就能使用 两种方法生成HTML报告,都 ...

  2. 使用HTMLTestRunner模块生成测试报告

    步骤: 1.下载HTMLTestRunner模块 HTMLTestRunnerCN.py是中文版本的,EN是英文版本的,将要使用的版本放到Python安装目录下lib文件夹中,然后试试看能不能impo ...

  3. unittest中HTMLTestRunner模块生成

    unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTestRunner 一.导入HTMLTestRunner 方法1.这个模块下载不能通过pip安装了,只能下载后手动 ...

  4. pytest.11.生成xml格式的测试报告

    From: http://www.testclass.net/pytest/report/ pytest有非常友好的命令行报告输出,在做用例开发的时候,这是极好的.然而我们在运行用例后经常会需要将测试 ...

  5. Rss 订阅:php动态生成xml格式的rss文件

    Rss 简介: 简易信息聚合(也 叫聚合内容)是一种描述和同步网站内容的格式.使用RSS订阅能更快地获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新.网络用户可以在客户端借助于支持RS ...

  6. C#生成putty格式的ppk文件(支持passphrase)

    背景 2022国家级护网行动即将开启,根据阿里云给出的安全建议,需要将登陆Linux的方式改为密钥对方式.我这里使用的远程工具是自己开发的,能够同时管理Windows和Linux,但是以前不支持密钥对 ...

  7. python模块学习之HTMLTestRunner模块生成HTML测试报告

    #!/usr/bin/env python #-*- coding:utf-8 -*- from HTMLTestRunner import HTMLTestRunner import time im ...

  8. python3修改HTMLTestRunner,生成有截图的测试报告,并发送测试邮件(二)

    3. 如何将第一步得到的地址和名称 输入 进第二步里的表格中呢... 用上述查找元素的方法,发现HTMLTestRunner.py中REPORT_TEST_WITH_OUTPUT_TMPL是用来输出测 ...

  9. Java生成xlsx格式的excel文件

    xlsx格式的写入的数据量据说有百万级,结合实际需要该格式. public static void main(String[] args) throws Exception { OutputStrea ...

随机推荐

  1. Android样式的开发:selector篇

    上一篇详细讲了shape的用法,讲解了怎么用shape自定义矩形.圆形.线形和环形,以及有哪些需要注意的地方.不过,shape只能定义单一的形状,而实际应用中,很多地方比如按钮.Tab.ListIte ...

  2. SpringBoot自定义错误信息,SpringBoot适配Ajax请求

    SpringBoot自定义错误信息,SpringBoot自定义异常处理类, SpringBoot异常结果处理适配页面及Ajax请求, SpringBoot适配Ajax请求 ============== ...

  3. Markdown 引用

    Markdown 使用 > 来标记区块引用,语法及效果如下: > 这是第一级引用 > > > 这是第二级引用 > > 现在回到第一级引用 > > ...

  4. 【netcore基础】.Net core自动作业之Hangfire

    nuget搜索:Hangfire 安装即可,这里我选择的是 1.7.0-beta1 版本 我是用这个集成到了 mvc api里 这里需要在 Startup 文件里进行如下配置 在配置方法 Config ...

  5. ThinkPHP框架 做个简单表单 添加数据例子__ACTION__ __SELF__

    public function zhuCe(){//自定义zhuCe方法和zhuCe显示表里的__ACTiON__这个相互交接 //实现两个逻辑 //1,显示注册页面 //2.向数据库添加内容 //自 ...

  6. 使用 PREPARE 的几个注意点

    简单的用set或者declare语句定义变量,然后直接作为sql的表名是不行的,mysql会把变量名当作表名.在其他的sql数据库中也是如此,mssql的解决方法是将整条sql语句作为变量,其中穿插变 ...

  7. Maven本地库_remote.repositories文件

    本地库中的包都有一个_remote.repositories文件,示例: #NOTE: This is an Aether internal implementation file, its form ...

  8. 安装了nodejs后在命令行运行npm报错

    安装了nodejs后在命令行运行npm报错:Error: Cannot find module 'internal/util/types' 解决方法:删除目录“C:\Users\mengxiaobo\ ...

  9. SQL中的Continue和Break

    x 在Sql Server中,sql语句包含While循环的时候,肯定都或多或少的用到Continue和Break... 下面撸了一个小Demo , Begin ),@Index) Begin Pri ...

  10. Hbase建表时遇到的问题This could be a sign that the server has too many connections

    Hbase创建表时遇到以下错误: ERROR: org.apache.hadoop.hbase.ZooKeeperConnectionException: HBase is able to conne ...