python selenium执行所有测试用例并生成报告的方法


Posted in Python onFebruary 13, 2019

直接上代码。

# -*- coding: utf-8 -*-
import time
import os
import os.path
import re
import unittest
import HTMLTestRunner
import shutil
shutil.copyfile("setting.ini","../setting.ini")
casepaths = []
def createsuite(casepath):
  testunit = unittest.TestSuite()
  #discover方法定义
  discover = unittest.defaultTestLoader.discover(
  casepath,
  pattern = 'case*.py',
  top_level_dir= casepath
  )
  for test_suite in discover:
    for test_case in test_suite:
      testunit.addTest(test_case)
  print testunit
  return testunit
for parent,dirnames,filenames in os.walk('.'):
 
  for filename in filenames:
    #print "parent is:" + parent
    #print "filename is:" + filename
    path=os.path.join(parent,filename)
    #正则判断是否为测试用例
    match = re.match('case', filename)
    if match:
      print u"获取测试用例目录:%s"%parent
      casepaths.append(parent)
      break
 
     
 
#定义报告存放目录,支持相对路径
now = time.strftime("%Y-%m-%M-%H-%M-%S",time.localtime(time.time()))
filename = now+'report.html'
fp = file(filename,'wb')
runner = HTMLTestRunner.HTMLTestRunner(
stream = fp,
title = u'自动化测试报告',
description = u'用例执行情况'
)
 
for casepath in casepaths:
  print u"正在执行 %s目录下的测试用例"%casepath
  alltestnames = createsuite(casepath)
  runner.run(alltestnames)
  print u"执行 %s目录下的测试用例完成"%casepath
print u"完成所有测试用例执行任务"

以上这篇python selenium执行所有测试用例并生成报告的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
浅谈Python基础之I/O模型
May 11 Python
pycharm 取消默认的右击运行unittest的方法
Nov 29 Python
对python 命令的-u参数详解
Dec 03 Python
简单了解Django应用app及分布式路由
Jul 24 Python
python flask几分钟实现web服务的例子
Jul 26 Python
python防止随意修改类属性的实现方法
Aug 21 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
Oct 17 Python
Ubuntu16.04安装python3.6.5步骤详解
Jan 10 Python
python由已知数组快速生成新数组的方法
Apr 08 Python
Python自动化xpath实现自动抢票抢货
Sep 19 Python
Django-Scrapy生成后端json接口的方法示例
Oct 06 Python
Python爬虫破解登陆哔哩哔哩的方法
Nov 17 Python
对python_discover方法遍历所有执行的用例详解
Feb 13 #Python
django2.0扩展用户字段示例
Feb 13 #Python
Python查找最长不包含重复字符的子字符串算法示例
Feb 13 #Python
Python查找数组中数值和下标相等的元素示例【二分查找】
Feb 13 #Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
Feb 13 #Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
Feb 13 #Python
Python实现Event回调机制的方法
Feb 13 #Python
You might like
造势之举?韩国总统候选人发布《星际争霸》地图
2017/04/22 星际争霸
php木马攻击防御之道
2008/03/24 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
2013/11/27 PHP
PHPExcel 修改已存在Excel的方法
2018/05/03 PHP
javascript 短路法代码精简
2009/08/20 Javascript
js操作ajax返回的json的注意问题!
2010/02/23 Javascript
js查找某元素中的所有图片地址的方法
2014/01/16 Javascript
jQuery给多个不同元素添加class样式的方法
2015/03/26 Javascript
jQuery.extend 函数及用法详细
2015/09/06 Javascript
Angular.js如何从PHP读取后台数据
2016/03/24 Javascript
Jquery跨域获得Json的简单实例
2016/05/18 Javascript
NodeJs安装npm包一直失败的解决方法
2017/04/28 NodeJs
layui弹出层效果实现代码
2017/05/19 Javascript
vue 实现类似淘宝星级评分的示例
2018/03/01 Javascript
Angular-UI Bootstrap组件实现警报功能
2018/07/16 Javascript
JavaScript多种页面刷新方法小结
2019/04/04 Javascript
js布局实现单选按钮控件
2020/01/17 Javascript
vue+element获取el-table某行的下标,根据下标操作数组对象方式
2020/08/07 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
2020/09/18 Javascript
javascript实现多边形碰撞检测
2020/10/24 Javascript
python网络编程学习笔记(九):数据库客户端 DB-API
2014/06/09 Python
Python cookbook(数据结构与算法)保存最后N个元素的方法
2018/02/13 Python
python构建深度神经网络(续)
2018/03/10 Python
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
2018/07/02 Python
python一行sql太长折成多行并且有多个参数的方法
2018/07/19 Python
Python连接mysql数据库及简单增删改查操作示例代码
2020/08/03 Python
html5理解head_动力节点Java学院整理
2017/07/13 HTML / CSS
JD Sports芬兰:英国领先的运动鞋和运动服饰零售商
2018/11/16 全球购物
名人珠宝设计师:Melinda Maria Jewelry
2019/03/06 全球购物
linux系统都有哪些运行级别
2012/04/15 面试题
进程的查看和调度分别使用什么命令
2015/03/25 面试题
《鸟岛》教学反思
2014/04/26 职场文书
2014年村支部书记四风对照检查材料思想汇报
2014/10/02 职场文书
财务工作犯错检讨书
2014/10/07 职场文书
党支部2014年度工作总结
2014/12/04 职场文书