自动化测试过程中,获得用例的执行结果后,需要有具象化、简洁明了的测试结果,比如:用例执行时间、失败用例数、失败的原因等,这时候,就需要用到测试报告。

HTML测试报告是python语言自带的单元测试框架,其扩展的HTMLTestRunner模块可用于生成易于使用的HTML测试报告。

1、HTMLTestRunner下载

下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html

下载完成后,将下载的文件保存到C盘的\Python35\Lib目录下(可以通过如下命令获取python安装目录):

①进入cmd命令行

②输入python

③输入import sys

④输入print(sys.path)

 C:\Users\dell>python
Python 3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:54:25) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.path)
['', 'C:\\Users\\dell\\AppData\\Local\\Programs\\Python\\Python35\\python35.zip', 'C:\\Users\\dell\\AppData\\Local\\Programs\\Python\\Python35\\DLLs',
'C:\\Users\\dell\\AppData\\Local\\Programs\\Python\\Python35\\lib', 'C:\\Users\\dell\\AppData\\Local\\Programs\\Python\\Python35', 'C:\\Users\\dell\\
AppData\\Local\\Programs\\Python\\Python35\\lib\\site-packages']

2、修改HTMLTestRunner文件

因为HTMLTestRunner是基于python2开发的,为了使其支持python3的环境,需要对其中的部分内容进行修改,修改后的内容如下:

 # HTMLTestRunner修改内容
# 第94行
import io
# 第539行
self.outputBuffer = io.StringIO()
# 第631行
print(sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime))
# 第642行
if not cls in rmap:
# 第766行
uo = o
# 第772行
ue = e

3、python文件执行与调用

①python文件的后缀为.py

②py文件既可以用来执行,就像一小段程序,也可以用来作为模块被导入

③在python中导入模块一般用import

代码如下:

 from selenium import webdriver
import unittest
import time class MyTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver,Chrome("F:\安装工具\python\chromedriver.exe")
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_key("unittest")
driver.find_element_by_id("su").click()
time.sleep(2)
title = assertEqual(title,"unittest_百度搜索") def tearDown(self):
self.driver.quit() if __name__ == "__main__":
unittest.main()

4、HTMLTestRunner测试报告

以上面的test_baidu.py文件为例子,生成HTMLTestRunner测试报告,代码如下:

 from selenium import webdriver
import unittest
from HTMLTestRunner import HTMLTestRunner class Baidu(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome("F:\安装工具\python\chromedriver.exe")
self.driver.implicitly_wait(10)
self.base_url = "http://www.baidu.com/" def test_baidu_search(self):
driver = self.driver
driver.get(self.base_url)
driver.find_element_by_id("kw").send_key("HTMLTestRunner")
driver.find_element_by_id("su").click() def tearDown(self):
self.driver.quit() if __name__ == "__main__":
baidu = Baidu("test_baidu_search")
testunit = unittest.TestSuite()
testunit.addTest(baidu) # 定义报告存放路径
fp = open('./result.html', 'wb')
# 定义测试报告
runner = HTMLTestRunner(stream=fp,
title='百度搜索测试报告',
description= '用例执行情况:')
runner.run(testunit) #运行测试用例
fp.close() #关闭报告文件

代码简析:

①将HTMLTestRunner模块用import导入

②通过open()方法以二进制写模式打开当前目录下的result.html,如果没有则自动创建该文件

③调用HTMLTestRunner模块下的HTMLTestRunner类,stream指定测试报告文件,title用于定义测试报告的标题,description用于定义测试报告的副标题

④通过HTMLTestRunner的run方法运行测试套件中所组装的测试用例,最后通过close()关闭测试报告文件

以上为方便展示写的例子,没有太多实际意义,具体的还是需要在工作中使用实践,关于unittest框架,后续会慢慢介绍。。。

Selenium:HTML测试报告的更多相关文章

  1. selenium 自动化测试 测试报告 生成

    https://www.cnblogs.com/yoyoketang/p/6140439.html https://www.cnblogs.com/testyao/p/5658200.html 一.下 ...

  2. Python+selenium之测试报告(3)

    较测试报告(2),该文章将测试报告和测试截图存放在随机变动的文件夹下面,去除了要存放在指定文件夹下面的限制. 注:遇到问题有: 1.创建由时间自动拼接的多级文件夹 2. import os impor ...

  3. Python+selenium之测试报告(2)

    # -*- coding: utf-8 -*- import HTMLTestReport import HTMLTestRunner import os import sys import time ...

  4. Python+selenium之测试报告(1)

    一.下载HTMLTestRunner.py HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展.它生成易于使用的 HTML 测试报告.HTMLTestRunne ...

  5. python+selenium生成测试报告后自动发送邮件

    标签(空格分隔): 自动化测试 运行自动化脚本后,会产生测试报告,而将测试报告自动发送给相关人员,能够让对方及时的了解测试情况,查看测试结果. 整个脚本包括三个部分: 生成测试报告 获取最新的测试报告 ...

  6. 自动化测试基础篇--Selenium发送测试报告邮件

    来自:https://www.cnblogs.com/sanzangTst/p/8377870.html 发邮件需要用到python两个模块,smtplib和email,这俩模块是python自带的, ...

  7. python selenium自动化测试报告

    先记录一下,后续继续更新. 首先:HTMLTestRunner的下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 选中后单击右键,在弹出 ...

  8. selenium自动化测试之整合测试报告

    selenium自动化测试之整合测试报告 标签(空格分隔): 整合报告 如下截图我们添加一个文件叫做:latest_report.py文件, import time import os import ...

  9. Python+unittest发送测试报告

    案例:将E:\Python_script\unittest\Test_Baidu生成的最新测试报告发送到指定邮箱. 我们将之前的unittest的报告生成和Python自动发送邮件结合在一起,就可以完 ...

  10. 高颜值测试报告- XTestRunner

    Modern style test report based on unittest framework. 基于unittest框架现代风格测试报告. 特点 漂亮测试报告让你更愿意编写测试. 支持单元 ...

随机推荐

  1. Linux 中的命令链接操作符

    && 与 || 配合 eg: cat test.sh #!/bin/bash [ -e /etc/hosts ] && echo "ok" || e ...

  2. sql server: quering roles, schemas, users,logins

    --https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/managing- ...

  3. React自己写的一个地图小组件

    由于今天比较闲,就玩了玩react,然后就封装了一个地图的组件,当然功能比较简单,因为就是随手写的小东西,但是由于引用了百度API和bee-mobile,所以用起来可能要薛微麻烦一点点,但是我保证,只 ...

  4. 【工具相关】Web-Sublime Text2新建立文件夹(二)

    紧接着上文. 一,打开Sublime Text2. 二,在桌面上新建立一个文件夹,html5. 三,打开html5如图所示.里面有我们刚刚建立好的文件. 四,把html5文件夹拖动到sublime2中 ...

  5. 我的Java之旅 第二课 Eclipse使用

    1.项目引用的jar包管理 在Project Explorer中找到你要添加jar包的项目,右键项目名,点击Properties. 在弹出的窗体中,点击Resource中的JAVA Build Pat ...

  6. spring容器、BeanFactory、ApplicatContext、WebApplicationContext

    1.spring容器 BeanFactory提供了IoC的功能:ApplicatContext建立在BeanFactory的基础上 在初始化BeanFactory的实现类时,并没有实例化Bean,直到 ...

  7. 一种快速部署开发用oracle的办法

    前段时间工作中需要在不少开发环境中快速提供开发可用的oracle环境,由于一一培训并部署原生oracle人力和时间成本过高,后来使用docker版本oracle,大大方便了开发工作的快速启动,方法记录 ...

  8. 洗礼灵魂,修炼python(21)--自定义函数(2)—函数文档,doctest模块,形参,实参,默认参数,关键字参数,收集参数,位置参数

    函数文档 1.什么是函数文档: 就是放在函数体之前的一段说明,其本身是一段字符串,一个完整的函数需要带有函数文档,这样利于他人阅读,方便理解此函数的作用,能做什么运算 2.怎么查看函数文档: func ...

  9. js,ajax,layer笔记(弹出层,在弹出一个弹框)

    整体认识: 因为作用域的问题,js 在页面初次加载时已近加载好了,所以要有第二次弹窗的效果,必须得在第一次成功之后再次让他加载js 代码: /*shaun*/showdetailsPag: funct ...

  10. Linux运维面试题之--网页打开缓慢如何优化

    服务器负载过高或者网页打开缓慢,简单说说你的优化思路 ? 首先我们要发现问题的过程,通过操作系统,数据库,程序设计,硬件角度四个维度找到问题所在 找到瓶颈点的位置 制定好优化方案,形成处理问题的体系 ...