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

yipeiwu_com6年前Python基础

直接上代码。

# -*- 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设计】。

相关文章

利用ImageAI库只需几行python代码实现目标检测

利用ImageAI库只需几行python代码实现目标检测

什么是目标检测 目标检测关注图像中特定的物体目标,需要同时解决解决定位(localization) + 识别(Recognition)。相比分类,检测给出的是对图片前景和背景的理解,我们...

python实现银行管理系统

python实现银行管理系统,供大家参考,具体内容如下 有的地方用的方法的比较复杂,主要是为回顾更多的知识 test1用来存类和函数 #test1.py import random...

Python同时向控制台和文件输出日志logging的方法

本文实例讲述了Python同时向控制台和文件输出日志logging的方法。分享给大家供大家参考。具体如下: python提供了非常方便的日志模块,可实现同时向控制台和文件输出日志的功能。...

Python调用SQLPlus来操作和解析Oracle数据库的方法

先来看一个简单的利用python调用sqlplus来输出结果的例子: import os import sys from subprocess import Popen, PIPE...

深入了解Python中pop和remove的使用方法

Python关于删除list中的某个元素,一般有两种方法,pop()和remove()。 remove() 函数用于移除列表中某个值的第一个匹配项。 remove()方法语法: list...