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: ...
随机推荐
- 杂记之--如何把项目托管到GitHub上面
参考了文顶顶大神的方法,这里仅做记录用! https://pan.baidu.com/s/1gfCaCXd
- Oracle sqlldr命令
今天别人的入库代码,看的真有点晕,最后看完才知道是用了sqlldr命令.哎...还是学艺不精啊,今后还是要多努力. 总结哈sqlldr命令:虽然大多是网上来的,自己要有体会嘛 !开源就是好啊. sql ...
- Linux命令之乐--nmap
Nmap是一款非常强大的实用工具,可用于:检测活在网络上的主机(主机发现)检测主机上开放的端口(端口发现或枚举)检测到相应的端口(服务发现)的软件和版本检测操作系统,硬件地址,以及软件版本检测脆弱性的 ...
- SensorManager
光照传感器 Android 中每个传感器的用法其实都比较类似,真的可以说是一通百通了.首先第一步要获取到 SensorManager 的实例 SensorManager senserManager = ...
- 【iOS开发】 AudioSession设置, 切换扬声器和听筒详解-保留其他应用音乐(备忘)
本文转载至 http://blog.sina.com.cn/s/blog_693de6100101f1g8.html (2013-04-10 17:25:24) 转载▼ 标签: audiosessio ...
- Windows游戏编程大师技巧之三角形填充
一.三角形的种类 三角形一般可以分为如下的四种类型(这四种类型是对于计算机来说的,不是数学意义上的分类): 平顶三角形:就是在计算机中显示的上面两个顶点的Y坐标相同. 平底三角形:就是在计算机中显示的 ...
- iOS 判断某一日期是否在一日期区间
-(BOOL)date:(NSDate*)date isBetweenDate:(NSDate*)beginDate andDate:(NSDate*)endDate { if ([date comp ...
- LeetCode 笔记系列二 Container With Most Water
题目:Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai ...
- requireJs官方使用教程(转)
原文地址:http://www.requirejs.cn § 1.使用 § 1.1 加载 JavaScript 文件 RequireJS的目标是鼓励代码的模块化,它使用了不同于传统<script ...
- 2017Summmer_上海金马五校 F题,G题,I题,K题,J题
以下题目均自己搜 F题 A序列 一开始真的没懂题目什么意思,还以为是要连续的子串,结果发现时序列,简直智障,知道题意之后,好久没搞LIS,有点忘了,复习一波以后,直接双向LIS,处理处两个数组L和R ...