HTML测试报告

显然,一份漂亮的测试报告展示自动化测试成果只有一个简单的log文件是不够的。
HTMLTestRunner是python标准库unittest单元测试框架的一个扩展,它生成易于使用的HTML测试报告。
下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
下载HTMLTestRunner.py文件,选中后右键另存为,保存到本地,然后将其放在python安装目录下的Lib目录下。即:Windows保存到…\pytohn27\Lib目录下。

在python交互模式下引入HTMLTestRunner模块,如果系统没有报错,则说明添加成功,如下图所示

2.修改HTMLTestRunner
因为HTMLTestRunner.py是基于python2开发的,为了使其支持python3的环境,需要对其中的部分内容进行修改,如下图所示。
#第94行

#第540行

#第633行

#第646行

#第771行

#第778行

3.生成HTML测试报告
下面继续以test_baidu.py文件为例生成HTMLTestRunner测试报告。(注意:由于当前本人使用的是python2.7,所以不能修改HTMLTestRunner.py文件)

#test_baidu.py

#coding:utf-8
from selenium import webdriver
from HTMLTestRunner import HTMLTestRunner
import unittest
import time class MyTest(unittest.TestCase): def setUp(self):
self.driver=webdriver.Chrome()
self.driver.maximize_window()
self.driver.implicitly_wait(10)
self.base_url="http://www.baidu.com" def test_baidu(self):
driver=self.driver
driver.get(self.base_url+"/")
driver.find_element_by_id("kw").clear()
driver.find_element_by_id("kw").send_keys("unittest")
driver.find_element_by_id("su").click()
time.sleep(2)
title=driver.title
self.assertEqual(title,u"unittest_百度搜索") def tearDown(self):
self.driver.quit() if __name__=="__main__":
testunit=unittest.TestSuite()
testunit.addTest(MyTest("test_baidu")) #定义报告存放路径
fp=open('./result.html','wb') #定义测试报告
runner=HTMLTestRunner(stream=fp,title=u'百度搜索测试报告',description=u'用例执行情况:') runner.run(testunit)#运行测试用例
fp.close()#关闭报告文件

  

代码分析:
1.首先,将HTMLTestRunner模块用import导入进来。
2.通过open()方法一二进制写模式打开当前目录下的result.html,如果没有,则自动创建该文件。
3.调用HTMLTestRunner模块下的HTMLTestRunner类,stream指定测试报告文件,title用于定义测试报告的标题,description用于定义测试报告的副标题。
4.最后,通过HTMLTestRunner的run()方法来运行测试套件中的测试用例,最后,通过close()关闭测试报告文件。
5.用例执行完成后,打开“result.html”文件查看生成的测试报告,如下图所示:

Selenium 2自动化测试实战35(HTML测试报告)的更多相关文章

  1. 《Selenium 2自动化测试实战 基于Python语言》中发送最新邮件无内容问题的解决方法

    虫师的<Selenium 2自动化测试实战 基于Python语言>是我自动化测试的启蒙书 也是我推荐的自动化测试入门必备书,但是书中有一处明显的错误,会误导很多读者,这处错误就是第8章自动 ...

  2. Selenium 2自动化测试实战

    Selenium 2自动化测试实战 百度网盘 链接:https://pan.baidu.com/s/1aiP3d8Y1QlcHD3fAlEj4sg 提取码:jp8e 复制这段内容后打开百度网盘手机Ap ...

  3. Selenium 2自动化测试实战3(函数、类和方法)

    一.函数.类和方法1.函数在python中通过def关键字来定义函数 创建一个add()函数,此函数接收两个参数a,b,通过print()打印a+b的结果.调用add()函数,并且上传两个参数3,5给 ...

  4. web自动化测试实战之生成测试报告

    同志们,老铁们,继上篇文章 web自动化测试实战之批量执行测试用例 之后我们接着继续往下走,有人说我们运行了所有测试用例,控制台输入的结果,如果很多测试用例那也不能够清晰快速的知道多少用例通过率以及错 ...

  5. Selenium 2自动化测试实战36(更易读的测试报告)

    一.更易读的测试报告 1.知识点:python的注释. 1.一种叫comment,为普通的注释2.另一种叫doc string,用于函数,类和方法的描述.在类或方法的下方,通过三引号("&q ...

  6. Selenium 与自动化测试 —— 《Selenium 2 自动化测试实战》读书笔记

    背景 最近在弄 appium,然后顺便发现了 Selenium 框架和这本书,恰好这本书也介绍了一些软件测试&自动化测试的理论知识,遂拿过来学习学习.所以本文几乎没有实践内容,大多都是概念和工 ...

  7. Selenium 2自动化测试实战39(Page Object设计模式)

    Page Object设计模式 Page object是selenium自动化测试项目开发时间的最佳设计模式之一,主要体现在对界面交互细节的封装. 1.认识page object优点如下:1.减少代码 ...

  8. Selenium+Python自动化测试实战(2)元素定位

    1.Selenium2 的原理 第一篇分享简单介绍了基于Python开发的Selenium2的环境配置,这篇主要讲一下基本用法.首先讲一下Selenium2的基本原理.基本上知道了这个东西是怎么回事, ...

  9. Selenium 2自动化测试实战38(整合自动发邮件功能)

    整合自动发邮件功能 解决了前面的问题后,现在就可以将自动发邮件功能集成到自动化测试项目中了.下面重新编辑runtest.py文件 #runtest.py #coding:utf-8 from HTML ...

随机推荐

  1. IDEA中使用git报错Permission denied (publickey)

    最近在使用idea开发时,使用git拉取远程仓库的代码时,报错Permission denied (publickey),原因是因为ssh的密钥失效,必须得重新设置下ssh的密钥即可. 命令很简单,在 ...

  2. TensorFlow 拾遗

     1..Here None in placeholder means that a dimension can be of any length.   2..   3.. 4.. 5.. tf.mul ...

  3. kotlin命令行交互式终端

    之前在http://www.cnblogs.com/webor2006/p/7532982.htmlKotlin的环境搭建篇提到过在开发Kotlin可以用最原始的挖掘机式的命令行去编译运行,这里学习一 ...

  4. CF 976F 递增容量最大流

    给你一个二分图 要求你求出对于k=[0~Mindegree] 每个点的度数至少为k所需要的最少边数 并输出方案 如果是单个询问的话 直接跑一个下界网络流即可 但是有多个询问 重建图强行跑不行 反过来考 ...

  5. MyBatis-09-Lombok

    9.Lombok Project Lombok is a java library that automatically plugs into your editor and build tools, ...

  6. lite-monitor 一款基于shell命令的监控系统

    介绍 lite-monitor 一款基于shell命令的监控系统,可以根据项目中输出的日志定时输出或者统计输出,并发送钉钉机器人报警消息. lite-monitor能做什么: 定时监控某个服务进程是否 ...

  7. maven插件生成可执行jar包

    <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assem ...

  8. code命令用vscode打开项目代码

    1. 打开vscode, 使用Command + shift + p, 输入shelll 选择

  9. 【线性代数】1-2:点乘和长度(Dot Products and Length)

    title: [线性代数]1-2:点乘和长度(Dot Products and Length) toc: true categories: Mathematic Linear Algebra date ...

  10. 关于kafka定期清理日志后再消费报错kafka.common.OffsetOutOfRangeException的解决

    环境: kafka  0.10 spark  2.1.0 zookeeper  3.4.5-cdh5.14.0 公司阿里云测试机,十月一放假前,没有在继续消费,假期过后回来再使用spark strea ...