【Selenium2+python】自动化unittest生成测试报告

news/2024/11/8 3:15:10/

前言

批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的。

unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTestRunner

一、导入HTMLTestRunner
1.这个模块下载不能通过pip安装了,只能下载后手动导入,下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html

2.Download下HTMLTestRunner.py文件就是我们需要下载的包。

3.下载后手动拖到python安装文件的Lib目录下

二、demo解析
1.下载Download下的第二个文件test_HTMLTestRunner.py,这个就是官方给的一个测试demo了,从这个文件可以找到该模块的用法。

2.找到下图这段,就是官方给的一个demo了,test_main()里上半部分就是加载测试case,我们不需要搞这么复杂。

3.最核心的代码是下面的红色区域,这个就是本篇的重点啦。

三、生成html报告
1.我们只需把上面红色区域代码copy到上一篇的基础上稍做修改就可以了,这里主要有三个参数:

--stream:测试报告写入文件的存储区域

--title:测试报告的主题

--description:测试报告的描述

2.report_path是存放测试报告的地址

四、测试报告详情

1.找到测试报告文件,用浏览器打开,点开View里的Detail可以查看详情描述。

2.为了生成带中文描述的测试用例,可以在case中添加注释,如在test_01的脚本添加如下注释:

class Test(unittest.TestCase):
    def setUp(self):
        print "start!"

    def tearDown(self):
        time.sleep(1)
        print "end!"

    def test01(self):
        u'''测试登录用例,账号:xx 密码xx'''
        print "执行测试用例01"

    def test03(self):
        u'''测试登搜索用例,关键词:xxx'''
        print "执行测试用例03"

3.重新运行后查看测试报告

五、参考代码:

1.我下面的代码文件路径用的相对路径,这样就避免代码换个地址找不到路径的情况了

# coding:utf-8
import unittest
import os
import HTMLTestRunner# python2.7要是报编码问题,就加这三行,python3不用加import sys
reload(sys)
sys.setdefaultencoding('utf8')# 用例路径
case_path = os.path.join(os.getcwd(), "case")
# 报告存放路径
report_path = os.path.join(os.getcwd(), "report")
def all_case():discover = unittest.defaultTestLoader.discover(case_path,pattern="test*.py",top_level_dir=None)print(discover)return discoverif __name__ == "__main__":# runner = unittest.TextTestRunner()# runner.run(all_case())# html报告文件路径report_abspath = os.path.join(report_path, "result.html")fp = open(report_abspath, "wb")runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title=u'自动化测试报告,测试结果如下:',description=u'用例执行情况:')# 调用add_case函数返回值runner.run(all_case())fp.close()

http://www.ppmy.cn/news/345450.html

相关文章

python_概率密度图

amtpd.read_excel(ramt.xlsx)import seaborn as sns sns.kdeplot(amt.limit_final_yxh)

HP DA1023电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网,转载需注明出处。(下载请直接百度黑果魏叔) 硬件配置 硬件型号驱动情况 主板HP DA1023 处理器Intel(R) Core(TM) i5-8265U已驱动 内存8 GB 2400 MHz DDR4.已驱动 硬盘Samsung SSD 980 250GB(macOS)已驱动 显卡I…

红米note_标注2013122_官方线刷包_救砖包_解账户锁

红米NOTE移动增强版2013122下载地址: https://pan.baidu.com/s/1NWD3kq_mnlInROsext2YYw 刷机包平台驱动教程,全部打包在一起 下载解压后,按照刷机教程进行刷机

红米二代竟有四款!64位/八核/5.5英寸

除了2014017和2014018两款新机之外,我们还在工信部网站上发现了小米的另外两款新机,分别是2013121和2014122,其外观和前者保持一致,因此应该也是红米家族的两款产品。 具体配置方面,2013121机身尺寸为15478.79.45mm&am…

011 - STM32学习笔记 - 串口通讯

011 - STM32学习笔记 - 串口通讯 关于串口的相关概念各位可以在网上查一下相关介绍,这里直接开始学习STM32上的串口配置和通讯测试了 在学习相关寄存器之前,先看一下USART的功能框图 1、USART引脚 引脚名称引脚功能TX数据发送端RX数据接收端SW_RX单线…

php安装拓展之phpize方式安装

php的源码包中有一个ext文件夹里面好多拓展插件,如果编译安装php的时候,没有安装拓展,可以后续通过phpize安装拓展 进入 ext文件夹 之后假如我需要安装imap插件 cd imap生成 configure文件 /usr/local/php/bin/phpize直接在imap目录执行 p…

Jsoup初接触-抓取彩票网站历史开奖信息

下载jsoup.jar加到工程里 -> http://jsoup.org/download 分析彩票网站html源码&#xff0c;出奖信息大概如下&#xff1a; <tr class"bgcolor1"><td class"td1">2013-10-15</td><td class"td2"><a href"/lo…

homestead 安装 php 扩展,Homestead安装php Redis扩展的步骤及遇到的问题解决

本篇文章给大家带来的内容是关于Homestead安装php Redis扩展的步骤及遇到的问题解决&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你有所帮助。 最近在使用 vagrant 安装 homestead 后&#xff0c;运行代码时提示 Redis 对应的 Class 不…