selenium+python—HTML生成报告代码
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生成报告代码的更多相关文章
- selenium+python-unittest多线程生成报告
前言 selenium多线程跑用例,这个前面一篇已经解决了,如何生成一个测试报告这个是难点,刚好在github上有个大神分享了BeautifulReport,完美的结合起来,就能生成报告了. 环境必备 ...
- selenium+python自动化81-html报告优化(饼图+失败重跑+兼容python2&3)
优化html报告 为了满足小伙伴的各种变态需求,为了装逼提升逼格,为了让报告更加高大上,测试报告做了以下优化: 测试报告中文显示,优化一些断言失败正文乱码问题 新增错误和失败截图,展示到html报告里 ...
- selenium+python自动化81-html报告优化(饼图+失败重跑+兼容python2&3)【转载】
优化html报告 为了满足小伙伴的各种变态需求,为了装逼提升逼格,为了让报告更加高大上,测试报告做了以下优化: 测试报告中文显示,优化一些断言失败正文乱码问题 新增错误和失败截图,展示到html报告里 ...
- python 自动生成C++代码 (代码生成器)
python 代码自动生成的方法 (代码生成器) 遇到的问题 工作中遇到这么一个事,需要写很多C++的底层数据库类,但这些类大同小异,无非是增删改查,如果人工来写代码,既费力又容易出错:而借用pyth ...
- appium+python+jenkins+selenium grid+unnittest+生成报告打造UI自动化回归、监控体系
先放一下截图,展示一下平台做成的样子,以及实现后的结果,后面贴上自动化用例执行的过程中,帮我们发现的线上问题 关于appium自动化环境的安装,网上有很多教程,我就不重复赘述,后面陆续写出设计思想,贴 ...
- 收藏清单: python测试数据生成及代码扫描最全工具列表
Test Data manipulation 测试数据的操作和处理 faker - 生成假数据的python库 fake2db - 创建假数据库 ForgeryPy - 使用起来很简单的假数据生成库. ...
- 执行用例,并生成报告——discover,HTMLRunner
HTMLRunner需要下载Python3的格式,懒人链接:http://pan.baidu.com/s/1tp3Ts 参考:http://bbs.chinaunix.net/thread-41547 ...
- selenium+python自动化91-unittest多线程生成报告(BeautifulReport)
前言 selenium多线程跑用例,这个前面一篇已经解决了,如何生成一个测试报告这个是难点,刚好在github上有个大神分享了BeautifulReport,完美的结合起来,就能生成报告了. 环境必备 ...
- python +selenium 自带case +生成报告的模板
https://github.com/huahuijay/python-selenium2这个就是 python +selenium的 里面还自带case 然后也有生成报告的模板 我的: https: ...
随机推荐
- Python 正则表达式分组
被括号括起来的表达式将作为一个整体,也就是一个分组: In [43]: str = "Jan 26 16:41:27 localhost dhclient[1480]: bound to 1 ...
- 常问面试题:C++中sizeof的陷阱及应答
C++中sizeof是经常被问到的一个概念,比如,下面的几个关于sizeof的面试题反复出现在各大IT公司的技术面试当中,我们有必要完全理解并掌握.注:在曾经面试大公司时,我的确被问到过这样的问题. ...
- 【黑金原创教程】【Modelsim】【第四章】激励文本就是仿真环境
声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/ ...
- Java中对List集合的常用操作(转载)
目录: list中添加,获取,删除元素: list中是否包含某个元素: list中根据索引将元素数值改变(替换): list中查看(判断)元素的索引: 根据元素索引位置进行的判断: 利用list中索引 ...
- Leetcode-Bianry Tree Maximum Path Sum
Given a binary tree, find the maximum path sum. The path may start and end at any node in the tree. ...
- 03.Curator深入使用
1.Apache Curator简介 Curator提供了一套Java类库,可以更容易的使用ZooKeeper.ZooKeeper本身提供了Java Client的访问类,但是API太底层,不 ...
- JDK的图文安装教程
JDK的安装 什么是JDK? JDK就是Java开发工具包,即Java Development Kit.就是做Java开发所需要的最基本的工具.包括Java编译器(把人使用的Java语言变成JVM能运 ...
- JAVAWEB的Listener
学习监听器 1监听器是什么 :监听对象的变化或者监听事件的触发 2有什么作用:当被监听的对象状态改变时,触发对应的方法 3怎么用: ①声明监听器,(继承对应的监听器) ②重写监听方法,并实现自己需要的 ...
- logback.xml解读----日志配置解读
初次接触javaweb项目的日志是log4j文件,但是后来发现通过配置logback.xml文件实现日志输出非常好用.经过上午的学习,现总结如下: 直接上配置文件和注释: <?xml versi ...
- virtio前端驱动详解
2016-11-08 前段时间大致整理了下virtIO后端驱动的工作模式以及原理,今天就从前端驱动的角度描述下目前Linux内核代码中的virtIO驱动是如何配合后端进行工作的. 注:本节代码参考Li ...