当自动化测试完成后,我们需要一份漂亮且通俗易懂的测试报告来展示自动化测试成果,仅仅一个简单的log文件是不够的

HTMLTestRunner是Python标准库unittest单元测试框架的一个扩展,它生成易于使用的HTML测试报告,下载后,将其复制到Python的安装目录即可,

例如,Windows,放在...\python27\Lib目录下

补充知识:

1、Python注释

普通注释用#表示

文本注释,放在类或者方法下面:""" 注释内容 """或者  '''注释内容  '''

2、测试报告以测试时间来命名,防止报告被覆盖

time.time():获取当前时间戳

time.ctime():当前时间的字符串形式

time.localtime():当前时间的struct_time形式

time.strftime():用来获取当前时间,可以讲师时间格式化为字符串

下面是项目集成生成测试报告源码:

test_case文件下的两个测试用例

test_baidu.py

# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import unittest, time, re class Baidu(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
self.base_url = "https://www.baidu.com/"
self.verificationErrors = []
self.accept_next_alert = True def test_baidu(self):
u"""百度搜索用例"""
driver = self.driver
driver.get(self.base_url + "/?tn=98012088_5_dg&ch=12")
driver.find_element_by_id("kw").clear()
driver.find_element_by_id("kw").send_keys("select")
driver.find_element_by_id("su").click() time.sleep(3) def tearDown(self):
self.driver.quit() if __name__ == "__main__":
unittest.main()

  test_firefox.py

# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import unittest, time, re class FireFox(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
self.base_url = "http://start.firefoxchina.cn/"
self.verificationErrors = []
self.accept_next_alert = True def test_firefox(self):
u"""Firefox搜索用例"""
driver = self.driver
driver.get(self.base_url + "/")
driver.find_element_by_id("search-key").clear()
driver.find_element_by_id("search-key").send_keys("selenium webdriver")
driver.find_element_by_id("search-submit").click()
time.sleep(5) def tearDown(self):
self.driver.quit()
if __name__ == "__main__":
unittest.main()

  执行测试用例的run_test.py

#coding=utf-8
import unittest, doctest
import HTMLTestRunner
import time
#相对路径定义用例存放的路径和报告存放路径
test_dir='./test_case'
test_dir1='./report'
#查找对应路径下的测试用例放到discover中
discover=unittest.defaultTestLoader.discover(test_dir,pattern='test*.py')
#定义带有当前测试时间的报告,防止前一次报告被覆盖
now=time.strftime("%Y-%m-%d %H_%M_%S")
filename=test_dir1+ '/' +now+ 'result.html'
#二进制打开,准备写入文件
fp = file(filename, 'wb')
#定义测试报告
runner =HTMLTestRunner.HTMLTestRunner(
stream=fp,
title=u'搜索测试报告',
description=u'用例执行情况')
runner.run(discover)

  最后生成的生成的html测试报告如下:

selenium+Python(生成html测试报告)的更多相关文章

  1. 19.Selenium+Python生成测试报告

    1.代码如下所示: from selenium import webdriver import unittest import HTMLTestRunner class BaiduSearch(uni ...

  2. python+selenium +unittest生成HTML测试报告

    python+selenium+HTMLTestRunner+unittest生成HTML测试报告 首先要准备HTMLTestRunner文件,官网的HTMLTestRunner是python2语法写 ...

  3. Python基础(六) python生成xml测试报告

    思路: 1.使用xslt样式,这样可以很好的和xml结合,做出漂亮的报告 2.生成xml结构 xslt样式是个很有意思,也很强大的,现在用的很多,很方便就能做出一个漂亮的报告,可以百度一下,语法相当简 ...

  4. selenium之生成html测试报告--testng.xsl

    自制版制作步骤: 1.首先下载一个文件名为testng.xslt-1.1.zip testng.xslt-1.1我在印象笔记里面备份了一份 打开testng.xslt中lib文件夹,找到saxon-8 ...

  5. Selenium+Java的TestNG测试报告优化

    本博主很懒,但学习很勤快,一般能从博客园直接转载的东西,本博主绝不动手写,无奈Selenium+java生成的测试报告在百度上搜索..反正我是没有看到.后来才知道TestNG它可以自动生成测试报告,但 ...

  6. Python&Selenium&pytest借助allure生成自动化测试报告

    一.摘要 本篇博文将介绍Python和Selenium进行自动化测试时,如何借助allure生成自动化测试报告 二.环境配置 首先python环境中安装pytest和pytest_allure_ada ...

  7. Python&Selenium借助HTMLTestRunner生成自动化测试报告

    一.摘要 本篇博文介绍Python和Selenium进行自动化测试时,借助著名的HTMLTestRunner生成自动化测试报告 HTMLTestRunner.py百度很多,版本也很多,自行搜索下载放到 ...

  8. Python&Selenium借助html-testRunner生成自动化测试报告

    一.摘要 本博文将介绍Python和Selenium进行自动化测试时,借助html-testRunner 生成自动化测试报告 安装命令:pip install html-testRunner 二.测试 ...

  9. Python+selenium自动化生成测试报告

    批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的. unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTest ...

随机推荐

  1. ssh关于含有外键的传值中无法识别正确的action的原因和解决办法

    在含有外键的表中,要保存一个值到这个外键时:逻辑思路:需要先将jsp页面的值传到相应的action中,在这个action中需要引入这个外键的实体层和DAO层(DAO层只需set方法),在执行函数中对于 ...

  2. UT源码 065

    NextDate函数问题 NextDate函数说明一种复杂的关系,即输入变量之间逻辑关系的复杂性 NextDate函数包含三个变量month.day和year,函数的输出为输入日期后一天的日期. 要求 ...

  3. 19、Semantic-UI之图片的动画效果

      在Semantic-UI中定义了很多图片动画效果,可以直接使用. 示例:定义图片动画 <!DOCTYPE html> <html lang="en"> ...

  4. Java之enum

    枚举是 JDK 1.5  中引入的新特性,存放在 java.lang 包中.在没有枚举之前都是直接定义一个final string这种,有了枚举之后可以直接定义啦,不过在java中需要自定义转换,自己 ...

  5. 关于.net和java des加密

    在.net和java环境中对于des加密,有几点要协同的地方: 密钥和密钥向量Key IV 加密模式CipherMode 填充模式PaddingMode 密文编码方式 下面一段.net的des加密方式 ...

  6. Nutch 快速入门(Nutch 2.2.1+Hbase+Solr)

    http://www.tuicool.com/articles/VfEFjm Nutch 2.x 与 Nutch 1.x 相比,剥离出了存储层,放到了gora中,可以使用多种数据库,例如HBase, ...

  7. mvc4验证码&输出图像的处理方式

    /// <summary> /// 绘制验证码 /// </summary> /// <returns></returns> public Action ...

  8. Linux的用户及权限相关

    sudo:用户想要使用sudo提升权限运行命令的话,需要把他加到sudo的list中 否则会报错:xxx is not in the sudoers file. 步骤 切换到root用户,运行visu ...

  9. react学习之路-配制antd-mobile

    经过将近三个月的使用,现在终于在我老大的带领下做完了一个react的项目,感觉还可以,最大的不足就是,对于react中的很多的东西都是掺杂着jq使用来做的,这是最不满意的一点吧,但是开发进度很近,只能 ...

  10. Run Faster-JAVA

    又好久没有写点啥了,平时都忙于工作,忙于应付工作中的问题,各种吸收却并没有好好的消化,该是"反刍"一下的时候了. 本篇名叫"Run Faster,JAVA",其 ...