Python自动化测试生成HTML测试报告

HTMLTestRunner是Python标准库unittest单元测试框架的一个扩展,他生成易于使用的HTML测试报告。

Ubuntu放置位置:输入Python3 命令进入Python交互模式,通过import sys 以及sys.path可以查看本机Python的安装目录

root@ranxf:/home/ranxf# python3
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.p
sys.path sys.platform sys.ps2
sys.path_hooks sys.prefix
sys.path_importer_cache sys.ps1
>>> sys.path
['', '/usr/lib/python35.zip', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/usr/lib/python3.5/lib-dynload', '/usr/local/lib/python3.5/dist-packages', '/usr/lib/python3/dist-packages']

以root身份将HTMLTestRunner.py文件复制到/usr/local/lib/python3.5/dist-packages目录下。

root@ranxf:/usr/local/lib/python3.5/dist-packages# ls
selenium selenium-3.7.0.dist-info
root@ranxf:/usr/local/lib/python3.5/dist-packages# cp /home/ranxf/下载/HTMLTestRunner.py .
root@ranxf:/usr/local/lib/python3.5/dist-packages# ls
HTMLTestRunner.py selenium selenium-3.7.0.dist-info

在交互模式导入模块,如果没有报错,则说明添加成功:

root@ranxf:/usr/local/lib/python3.5/dist-packages# python3
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import HTMLTestRunner
>>>

实例:遍历在该路径(/home/ranxf/python_web_unittest-master/test_case)下以test开头的所有用例。

import unittest, time
from HTMLTestRunner import HTMLTestRunner # 定义测试用例的目录为当前目录
# test_dir = './test_case'
# discover = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py') if __name__ == '__main__': test_dir = '/home/ranxf/python_web_unittest-master/test_case'
test_report = '/home/ranxf/python_web_unittest-master/report' discover = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py') # 按照一定格式获取当前时间
now = time.strftime("%Y-%m-%d %H_%M_%S") # 定义报告存放路径 # filename = './' + now + ' result.html'
filename = test_report + '/' + now + 'result.html'
fp = open(filename, 'wb') # 定义测试报告
runner = HTMLTestRunner(stream=fp,
title='web测试报告',
description='用例执行情况: ')
runner.run(discover)
fp.close()

测试项目目录结构如下:

root@ranxf:/home/ranxf/python_web_unittest-master# tree
.
├── report
├── runtest.py
└── test_case
├── test_baidu.py
└── test_youdao.py
report:放置HTML报告的目录;
runtest.py:遍历测试用例的主程序;
test_case:用例放置目录
运行后的目录结构:
root@ranxf:/home/ranxf/python_web_unittest-master# tree
.
├── report
│   └── 2017-12-26 15_56_59result.html
├── runtest.py
└── test_case     ├── test_baidu.py
    └── test_youdao.py
												

selenium+python—HTML生成报告代码的更多相关文章

  1. selenium+python-unittest多线程生成报告

    前言 selenium多线程跑用例,这个前面一篇已经解决了,如何生成一个测试报告这个是难点,刚好在github上有个大神分享了BeautifulReport,完美的结合起来,就能生成报告了. 环境必备 ...

  2. selenium+python自动化81-html报告优化(饼图+失败重跑+兼容python2&3)

    优化html报告 为了满足小伙伴的各种变态需求,为了装逼提升逼格,为了让报告更加高大上,测试报告做了以下优化: 测试报告中文显示,优化一些断言失败正文乱码问题 新增错误和失败截图,展示到html报告里 ...

  3. selenium+python自动化81-html报告优化(饼图+失败重跑+兼容python2&3)【转载】

    优化html报告 为了满足小伙伴的各种变态需求,为了装逼提升逼格,为了让报告更加高大上,测试报告做了以下优化: 测试报告中文显示,优化一些断言失败正文乱码问题 新增错误和失败截图,展示到html报告里 ...

  4. python 自动生成C++代码 (代码生成器)

    python 代码自动生成的方法 (代码生成器) 遇到的问题 工作中遇到这么一个事,需要写很多C++的底层数据库类,但这些类大同小异,无非是增删改查,如果人工来写代码,既费力又容易出错:而借用pyth ...

  5. appium+python+jenkins+selenium grid+unnittest+生成报告打造UI自动化回归、监控体系

    先放一下截图,展示一下平台做成的样子,以及实现后的结果,后面贴上自动化用例执行的过程中,帮我们发现的线上问题 关于appium自动化环境的安装,网上有很多教程,我就不重复赘述,后面陆续写出设计思想,贴 ...

  6. 收藏清单: python测试数据生成及代码扫描最全工具列表

    Test Data manipulation 测试数据的操作和处理 faker - 生成假数据的python库 fake2db - 创建假数据库 ForgeryPy - 使用起来很简单的假数据生成库. ...

  7. 执行用例,并生成报告——discover,HTMLRunner

    HTMLRunner需要下载Python3的格式,懒人链接:http://pan.baidu.com/s/1tp3Ts 参考:http://bbs.chinaunix.net/thread-41547 ...

  8. selenium+python自动化91-unittest多线程生成报告(BeautifulReport)

    前言 selenium多线程跑用例,这个前面一篇已经解决了,如何生成一个测试报告这个是难点,刚好在github上有个大神分享了BeautifulReport,完美的结合起来,就能生成报告了. 环境必备 ...

  9. python +selenium 自带case +生成报告的模板

    https://github.com/huahuijay/python-selenium2这个就是 python +selenium的 里面还自带case 然后也有生成报告的模板 我的: https: ...

随机推荐

  1. Excel 信息对比_数组版

    Sub LOOKUP_UChur() Dim i As Long '=== sourceWorksheet = 数据源表名称 Dim sourceWorksheet As Worksheet Dim ...

  2. 简单深搜:POJ1546——Sum it up

    结束了三分搜索的旅程 我开始迈入深搜的大坑.. 首先是一道比较基础的深搜题目(还是很难理解好么) POJ 1564 SUM IT UP 大体上的思路无非是通过深搜来进行穷举.匹配 为了能更好地理解深搜 ...

  3. docker使用阿里云镜像仓库

    1:阿里云docker仓库 https://dev.aliyun.com/search.html 2:进去注册帐号后,点击自己的管理中心. 3:在管理中心点击加速器,右边面板会有你的加速地址,右边面板 ...

  4. MySQL中关于SQL注入的相关需要的基础知识

    零.绪论: 文章部分整理来源于公司同事,特此鸣谢!!! 一.关于注入点在KEY上的注入: 我们来看一个查询,你的第一个字段是过滤器(filter)第二个字段是查询的关键字,例如查询ip == 1.2. ...

  5. 【BZOJ2424】[HAOI2010]订货 最小费用流

    [BZOJ2424][HAOI2010]订货 Description 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付存贮费用m,假定 ...

  6. Android实现“退出确认”对话框

    @Override public void onBackPressed() { new AlertDialog.Builder(this).setTitle("确认退出吗?") . ...

  7. 关于如何将Eclipse中@author进行修改的解决方法

    问题:Eclipse和 MyEclipse上的文档注释"/**"里面的"@author Administrator"是自动生成的姓名,有时我们需要将自己的代码进 ...

  8. WebStorm 常用安装,配置,快捷键

    WebStorm  软件资源   http://pan.baidu.com/s/1c2OmyQW(不建议使用汉化版,都已可能出现很多意想不到的问题) * Web前端集成开发工具 - WebStorm ...

  9. Requset和Response中的乱码问题

    在我们的日常开发中,乱码问题,还是比较经常遇到的,有时候是浏览器端提交的数据到后台乱码了,有时候是后台响应的数据到前台浏览器端展现出现乱码了.下面我们将通过几个简单的例子来说明乱码的由来和解决方式. ...

  10. Linux C 获取 文件的大小

    通过Linux C库函数来获取文件的大小 #include <unistd.h> #include <sys/types.h> #include <sys/stat.h& ...