测试报告——生成HTML格式的测试报告

  前面的实例输出的所有测试结果都是以命令行日志的方式展示,不止于难看,但也不适合直接把那样的测试结果截图发给相关人员,尤其是领导。这时需要更加友好的测试结果,既能够查看测试结果的概况,又能深入查看报告细节。虽然unittest目前没有相应的内置模块可以生成格式友好的报告,但是我可以应用unittest的扩展库HTMLTestRunner来实现。

  如果想获取更多关于HTMLTestRunner的信息,可以参考;

  https://pypi.org/project/HTMLTestRunner

  下面将修改前面涉及的测试套件并添加HTMLTestRunner支持。主要需要创建一个包含实际测试报告的输出文件,并配置HTMLTestRunner选择。代码如下:

import unittest
import HTMLTestRunner
from searchtests import BaiduSearchTest
from homepagetests import BaiduHomePageTest #get the directory path to report file
dir = './' #current script directory search_tests = unittest.TestLoader().loadTestsFromTestCase(BaiduSearchTest)
home_page_tests = unittest.TestLoader().loadTestsFromTestCase(BaiduHomePageTest) test_suite = unittest.TestSuite([home_page_tests, search_tests]) #open the report file
report_file = open(dir + "BaiduTestReport.html", "wb") #configure HTMLTestRunner options
runner = HTMLTestRunner.HTMLTestRunner(stream = report_file,
title = 'Test Report',
description = 'Test Suite',
verbosity=2) #run test suite using HTMLTestRunner
runner.run(test_suite)

  执行该测试套件,HTMLTestRunner像unittest一样运行所有的测试。最后生成测试报告文件,如下图所示:

  更多关于HTMLTestRunner信息可以参考:https://pypi.org/project/HTMLTestRunner/

unittest测试框架详谈及实操(五)的更多相关文章

  1. Selenium之unittest测试框架详谈及实操

    申明:本文是基于python3.x及selenium3.x. unittest,也可以称为PyUnit,可以用来创建全面的测试套件,可以用于单元自动化测试(模块).功能自动化测试(UI)等等. 官方文 ...

  2. unittest测试框架详谈及实操(二)

    类级别的setUp()方法与tearDown()方法 在实操(一)的例子中,通过setUp()方法为每个测试方法都创建了一个Chrome实例,并且在每个测试方法执行结束后要关闭实例.是不是觉得有个多余 ...

  3. unittest测试框架详谈及实操(四)

    测试套件 应用unittest的Test Suite特性,可以将不同的测试组成一个逻辑组,然后设置统一的测试套来一起执行测试.通过TestSuite.TestLoader类来创建测试套件,最后用Tes ...

  4. unittest测试框架详谈及实操(三)

    断言 unittest的TestCase类提供了很多实用的方法来校验预期结果和程序返回的实际结果是否一致.当然这些方法要求必须满足某些条件才能继续执行接下的测试.大致有3种这样的方法.各覆盖一个特定类 ...

  5. Linux基础实操五

    实操一:nginx服务 二进制安装nginx包1) 1)#yum clean all 2)#yum install epel-release -y 3)#yum install nginx -y 1) ...

  6. python利用unittest测试框架组织测试用例的5种方法

    利用unittest测试框架可以编写测试用例,执行方式分两大类:利用main方法和利用testsuite,其中利用测试套件来组织测试用例可以有4种写法. 在此之前,先了解几个概念 TestCase:所 ...

  7. Python 下的unittest测试框架

    unittest测试框架,直接上图吧: data:数据:主要格式为CSV:读取方式:csv.reade: public:封装的模块:通用的模块单独封装,所需参数设置为变量: testcase:测试用例 ...

  8. Python接口测试实战3(下)- unittest测试框架

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  9. <day002>Selenium基本操作+unittest测试框架

    任务1:Selenium基本操作 from selenium import webdriver # 通用选择 from selenium.webdriver.common.by import By # ...

随机推荐

  1. 打开图片并显示在面板上demo

    import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; ...

  2. Oracle函数日期转换成秒(时间戳)

    SELECT TO_NUMBER(TO_DATE('2015-01-01 05:00:00', 'YYYY-MM-DD HH24:MI:SS') - TO_DATE( * * FROM DUAL; 秒 ...

  3. nginx的下载和安装

    安装 下载必要组件 nginx下载地址 http://nginx.org/en/download.html  pcre库下载地址,nginx需要[解析正则] http://sourceforge.ne ...

  4. jssip音视频及短信开发demo(中文注释完整版)

    完整案例demo下载地址:http://download.csdn.net/download/qq_39421580/10214712 <!DOCTYPE html> <html l ...

  5. django admin 中实现word文档下载

    为了实现此功能,需要用到的知识点: (1)django  admin  自定义字段:   参考:http://www.cnblogs.com/wumingxiaoyao/p/6928297.html ...

  6. CentOS Grub、BASH 故障、解决方法

    简介: Grub 常见的两种故障:Grub.conf 文件丢失.MBR 损坏 ( 不管恢复怎么样,还是先备份好吧 ) 一.Grub.conf 文件丢失 shell > rm -rf /boot/ ...

  7. Elasticsearch-PHP 处理JSON数组和对象

    PHP中处理JSON数组和对象 客户端有一些混淆的资源是围绕着JSON的数组和对象,以及如何在PHP中指定它们.特别是,问题是由空对象和空数组导致的.这篇文章回告诉你一些在Elasticsearch ...

  8. iOS设备尺寸

  9. linux系统中的进程

    一.fork 在类unix系统中,我们所执行的任何程序,都是由父进程(parent process)所产生出来的一个子进程(child process),子进程在结束后,将返回到父进程去.此一现象被称 ...

  10. 81-POJ-Wall(计算几何)

    http://poj.org/problem?id=1113 Wall Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 411 ...