Python unittest生成测试报告过程解析

1、先导入HTMLTestRunner模块

见生成HTMLTestRunner模块

2、实例如下

(1)单用例文件执行且生成报告

import unittest
import HTMLTestRunner

class Study01(unittest.TestCase):

  def test01(self):
    print "test01"

  def test02(self):
    self.assertEqual(1,2,msg="1 != 2")

  def test03(self):
    print "test03"

  def test04(self):
    print "test04"

if __name__ == '__main__':
  testcases = [Study01("test01"),Study01("test02"),Study01("test03"),Study01("test04")]
  suit = unittest.TestSuite()
  suit.addTests(testcases)
  #测试报告生成
  dir = "D:\\test.html"  #定义测试报告文件
  filename = open(dir,"wb")  #"wb"新建或者打开一个二进制文件,写入执行完的数据
  runner = HTMLTestRunner.HTMLTestRunner(stream=filename,
                      title="Testcase Report",
                      description=u"测试用例明细")  #调用HTMLTestRunner类定义测试报告内容
  runner.run(suit)  #调用HTMLTestRunner类下面的run()方法运行用例套件
  filename.close()  #关闭测试报告文件

(2)批量执行用例且生成测试报告

import unittest
import HTMLTestRunner

def all_case():

  case_dir = "D:\work_doc\pycharm2\python_Basics" #用例存放路径
  discover=unittest.defaultTestLoader.discover(case_dir,                     pattern="XFS*.py",                      top_level_dir=None)
  return discover
if __name__ == "__main__":
  dir = "d:\\test1.html"
  filename = open(dir,"wb")
  runner = HTMLTestRunner.HTMLTestRunner(stream=filename,                     title="Test Report",                    description="description")
  runner.run(all_case())

3、解释

  • wb:只写打开或新建一个二进制文件;只允许写数据。
  • stream:测试报告写入文件的存储路径
  • title:测试报告的主题
  • description:测试报告的描述

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python 解决pycharm运行py文件只有unittest选项的问题

    有时候在编完脚本开始运行时,发现某个py脚本右键运行的选项不是run,二是run in unittest,试过很多方法都不能很好的去除,主要是因为脚本中含有test字符串,一种解决方法是将脚本中所有的函数和类的test字符串改为其他的. 但是此方法比较麻烦,需要改函数和类的名字,有一种根本的解决方法: File-> Settings -> Tools -> Python Integrated Tools -> Default test runner 将Unittests改为py.t

  • Python unittest discover批量执行代码实例

    代码如下 import unittest dir = "D:\\work_doc\\pycharm2\\python_Basics" #自动化用例所存放的路径 suit = unittest.defaultTestLoader.discover(dir,pattern="XFS*.py",top_level_dir=None) #匹配出需要执行的py文件 runner = unittest.TextTestRunner() #TextTestRunner类实例化,目

  • Python unittest装饰器实现原理及代码

    1.前言 前面讲到unittest里面setUp可以在每次执行用例前执行,这样有效的减少了代码量,但是有个弊端,比如打开浏览器操作,每次执行用例时候都会重新打开,这样就会浪费很多时间. 于是就想是不是可以只打开一次浏览器,执行完用例再关闭呢?这就需要用到装饰器(@classmethod)来解决了. 2.@classmethod 装饰器中的 setUpClass() 和 tearDownClass() 与 setUp() 和 tearDown() 的区别 setUp():每个测试 case 运行之

  • Python单元测试工具doctest和unittest使用解析

    Python标准库包含两个测试工具. doctest:一个简单的模块,为检查文档而设计,但也适合用来编写单元测试. unittest:一个通用的测试框架. 一.使用doctest进行单元测试 创建文件mymath.py,内容 def square(x): ''' 计算平方并返回结果(下面是单元测试的格式) >>> square(2) >>> square(3) ''' return x * x if __name__ == '__main__': import doct

  • Python + Requests + Unittest接口自动化测试实例分析

    本文实例讲述了Python + Requests + Unittest接口自动化测试.分享给大家供大家参考,具体如下: 1. 介绍下python的requests模块 Python Requests快速入门 :http://cn.python-requests.org/zh_CN/latest/ 想必会Python基础的小伙伴们一看就懂了 2. Requests接口自动化测试: 2.1 如何利用这么利器进行接口测试,请看小demo: # -*- coding:utf-8 -* import re

  • Python中Unittest框架的具体使用

    Unittest 1.环境 Unittest为Python内嵌的测试框架,不需要特殊配置,仅需要在File---settings---Tools----Python Intergrated Tools下配置框架为Unittest 2.编写规范 需要导入 import unittest 测试类必须继承unittest.TestCase 测试方法以 test_开头 模块和类名没有要求 3.Unittest介绍 import unittest def add(x, y): return x + y d

  • 对python的unittest架构公共参数token提取方法详解

    额...每个请求都有token值的传入,但是token非常易变,一旦变化,所有的接口用例都得改一遍token,工作量太大了... 那么有没有一种方法能把token提取出来,作为一个全局变量,作为一个参数,从而牵一发而动全身呢?? 经过探索,具体方案如下 先定义一个全局变量token类型为string 然后把请求链接定义一个变量类型为string 然后定义第三个变量=前两个变量相加 然后requests直接传第三个变量就行了 具体代码如下: class Test(unittest.TestCase

  • Python unittest如何生成HTMLTestRunner模块

    生成 HTMLTestRunner 模块 unittest 里面是不能生成 html 格式报告的,需要导入一个第三方的模块:HTMLTestRunner 方法1.这个模块下载不能通过 pip 安装了,只能下载后手动导入,下载地址: http://tungwaiyip.info/software/HTMLTestRunner.html 方法2.在 python 安装文件的 Lib 目录下新增文件 HTMLTestRunner.py 两种模板如下,建议使用第一种(第一种模板更加美观) 文件内容如下:

  • Python unittest生成测试报告过程解析

    1.先导入HTMLTestRunner模块 见生成HTMLTestRunner模块 2.实例如下 (1)单用例文件执行且生成报告 import unittest import HTMLTestRunner class Study01(unittest.TestCase): def test01(self): print "test01" def test02(self): self.assertEqual(1,2,msg="1 != 2") def test03(s

  • Python TestSuite生成测试报告过程解析

    简介:为每一个测试用例添加说明,那么将会使报告更加易读懂,工作中汇报数据的技巧 u"test_one方法" HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展,它可以生成 HTML的 测试报告,无法通过pip安装. 首先要下 HTMLTestRunner.py 文件,将下载的文件放入-\python\Lib目录下 (或者同个路径) 注意点: python2和python3,语法不一样,导致HTMLTestRunner在python3不兼容 解决办

  • python自动化unittest yaml使用过程解析

    这篇文章主要介绍了python自动化unittest yaml使用过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在编写unittest自动化用例时,一个请求需要编写多条用例,而涉及的参数基本相同,这时候就会用到配置文件,可以把参数配置项统一管理,避免重复代码,也方便后期维护 此处用到的是yaml,首先需要安装yaml库,pip install yaml 安装成功后,脚本导入语句,import yaml,具体语法可参照如上入门教程 举例

  • 用python写测试数据文件过程解析

    这篇文章主要介绍了用python写测试数据文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 f是指向文件的指针,r是转义字符,可以让字符串中的\保持不被转义.路径点属性查然后加上当前文件. 'w'表示只写,'r'表示只读. import random 导入random数 s = []开一个空列表 循环,2^20用2**20表示 append是apply to end 把字符串接到后面 s = ''.join(s)表示以''中的元素为间

  • Python hashlib模块加密过程解析

    这篇文章主要介绍了Python hashlib模块加密过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 hashlib模块 用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 import hashlib m = hashlib.md5() m.update(b"Hello") m.update(b"It's me

  • 使用python远程操作linux过程解析

    这篇文章主要介绍了使用python远程操作linux过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在云服务测试中,往往需要我们进入云服务内容进行相关内容的测试.这测试可以使用平台自身的noVNC.外部辅助xshell等工具连接到云服务内部进行测试. 但是在如此反复的测试操作中,就需要用到自动化测试方法去解决这方面的需求. 在python中我们可以通过第三方库paramiko,对linux的云服务器进行操作. 如下命令先行安装 pip

  • python Jupyter运行时间实例过程解析

    这篇文章主要介绍了python Jupyter运行时间实例过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.Python time time()方法 import time time_start=time.time() time_end=time.time() print('totally cost',time_end-time_start) import time print "time.time(): %f " % ti

  • Python实现word2Vec model过程解析

    这篇文章主要介绍了Python实现word2Vec model过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 import gensim, logging, os logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) import nltk corpus = nltk.corpus.brown.sents()

  • 基于python调用psutil模块过程解析

    这篇文章主要介绍了基于python调用psutils模块过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 用Python来编写脚本简化日常的运维工作是Python的一个重要用途.在Linux下,有许多系统命令可以让我们时刻监控系统运行的状态,如ps,top,free等等.要获取这些系统信息,Python可以通过subprocess模块调用并获取结果.但这样做显得很麻烦,尤其是要写很多解析代码. 在Python中获取系统信息的另一个好办法是

  • python操作gitlab API过程解析

    这篇文章主要介绍了python操作gitlab API过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用 python-gitlab 模块来调用gitlab的API来管理gitlab install pip install python-gitlab # 如果是安装到Python3使用可以使用如下命令 pip3 install python-gitlab 配置 为了保护API 用到的 private_token,一般会将其写到系统的配

随机推荐