我做的是运行单独测试文件的包装脚本:

主包装纸^{}:#!/usr/bin/env python3

# Usage: ./run_tests.py -h http://example.com/ tests/**/*.py

import sys, unittest, argparse, inspect, logging

if __name__ == '__main__':

# Parse arguments.

parser = argparse.ArgumentParser(add_help=False)

parser.add_argument("-v", "--verbose", action="store_true", dest="verbose", help="increase output verbosity" )

parser.add_argument("-d", "--debug", action="store_true", dest="debug", help="show debug messages" )

parser.add_argument("-h", "--host", action="store", dest="host", help="Destination host" )

parser.add_argument('files', nargs='*')

args = parser.parse_args()

# Load files from the arguments.

for filename in args.files:

exec(open(filename).read())

# See: http://codereview.stackexchange.com/q/88655/15346

def make_suite(tc_class):

testloader = unittest.TestLoader()

testnames = testloader.getTestCaseNames(tc_class)

suite = unittest.TestSuite()

for name in testnames:

suite.addTest(tc_class(name, cargs=args))

return suite

# Add all tests.

alltests = unittest.TestSuite()

for name, obj in inspect.getmembers(sys.modules[__name__]):

if inspect.isclass(obj) and name.startswith("FooTest") and len(name) > len("FooTest"):

alltests.addTest(make_suite(obj))

# Run tests.

result = unittest.TextTestRunner(verbosity=2).run(alltests)

sys.exit(not result.wasSuccessful())

然后是另一个测试包装:class FooTest(unittest.TestCase):

def __init__(self, *args, cargs=None, **kwargs):

super().__init__(*args, **kwargs)

self.vdisplay = Xvfb(width=1280, height=720)

self.vdisplay.start()

self.args=cargs

self.log=logging

def setUp(self):

self.site = webdriver.Firefox()

def kill(self):

self.vdisplay.stop()

然后,在不同文件中的每个测试看起来像:import sys, os, unittest

from FooTest import FooTest

class FooTest1(FooTest):

def test_homepage(self):

self.site.get(self.base_url + "/")

log.debug("Home page loaded.")

然后您可以轻松地从shell运行测试,如:$ ./run_tests.py -h http://example.com/ test1.py test2.py

可以使用通配符指定特定目录中的所有文件,或者使用a new globbing option(**)递归运行所有测试(通过shopt -s globstar启用)。

python 测试用例 自动生成目录_如何在python中自动向测试套件添加十几个测试用例...相关推荐

  1. python 测试用例 自动生成目录_如何在python中自动将测试用例添加到测试套件中...

    上面的模块很好,但NoseTests在尝试输入参数时会很有趣,而且速度更快,更适合其他模块. import os, unittest class Tests(): def suite(self): # ...

  2. figma设计_如何在Figma中构建设计入门套件(第1部分)

    figma设计 Figma教程 (Figma Tutorial) Do you like staring at a blank canvas every time you start a new pr ...

  3. python从random生成列表_详解Python利用random生成一个列表内的随机数

    详解Python利用random生成一个列表内的随机数 首先,需要导入random模块: import random 随机取1-33之间的1个随机数,可能重复: random.choice(range ...

  4. html5自动生成目录,利用html实现类似于word自动生成的目录的效果

    在w体朋几一级发等点确层数框的很屏果行4带域ord中的自动生成目录当中,我们会看到是这样直分调浏器代,刚求的一学础过功互有解小久宗点差维含数如数围请的目录结构: 嗯,讲过一围多元示一能近讲提下了多素效 ...

  5. python词云自定义形状_如何在Python中生成任何形状的词云

    作者 | Julia Kho 编辑| 代码医生团队 在本文中,我们将探讨如何在python中以您想要的任何形状生成文字云.我们将通过一个示例来说明如何在房屋的自定义形状中创建简单的文字云,如上图所示. ...

  6. jeesite如何已生成数据的数据源_如何在postman中自动生成接口请求数据,这个功能你需要知道,可结合浏览器和两大抓包工具使用...

    在做接口调试或测试时,请求中的每个参数都要按照接口文档填写到postman的对应位置中,很是麻烦.那是否有这样一个功能?可以帮我们自动生成接口数据,无需修改,直接发送请求就可以呢. 这里面我们需要借助 ...

  7. python实现随机抽取答题_如何在python中实现随机选择

    这篇文章主要介绍了如何在python中实现随机选择,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 想从一个序列中随机抽取若干元素,或者想生成几个随机 ...

  8. python画图修改背景颜色_如何在 Matplotlib 中更改绘图背景的实现

    介绍 Matplotlib是Python中使用最广泛的数据可视化库之一.无论是简单还是复杂的可视化项目,它都是大多数人的首选库. 在本教程中,我们将研究如何在Matplotlib中更改绘图的背景. 导 ...

  9. python调用adb shell命令_如何在python脚本里面连续执行adb shell后面的各种命令

    如何在python脚本里面连续执行adb shell后面的各种命令 adb shell "cd /data/local && mkdir tmp" adb shel ...

最新文章

  1. NumberOf1Bits(leetcode191)
  2. 一起学nRF51xx 21 -  蓝牙项目工程的初始化流程解读
  3. java 多线程同步问题_Java多线程同步问题:一个小Demo完全搞懂
  4. c语言 read 文件字节没超过数组大小时会怎样_剑指信奥 | C 语言之信奥试题详解(四)...
  5. php实现加密解密,php实现加密与解密的原理与用法
  6. OpenCV精进之路(零):HighGUI——读写XML和YML文件
  7. PV、EV、AC、BAC、EAC、ETC等的含义及计算公式
  8. UE4_编辑器UMG关闭窗口不能立刻销毁UMG
  9. 菜狗杯Misc_You and me_题目wp
  10. Anaconda安装报错(Failed to create Anaconda menus)
  11. python贴吧自动签到,解放你的双手
  12. Wcp知识管理系统部署文档
  13. 台式计算机搜不到无线,电脑搜不到5g频段wifi解决方法(图文)
  14. 【回收站】恢复oracle中误删除drop掉的表
  15. Dovecot的简单维护操作命令
  16. 修复360篡改的,我的主页
  17. 台式计算机开机不自检不起动,台式电脑启动不了怎么办 电脑启动失败需要怎么排查...
  18. STM32F工程移植注意事项
  19. CentOS Stream修改SSH端口及删除端口
  20. win10卸载软件 管理员已阻止你运行此应用的提示

热门文章

  1. 94 年出生,她们如今都是 985 高校博士生导师
  2. PHP 加密、解密工具Zend Guard和ionCube
  3. Android开发之svn命令行以及cornerston教程
  4. USGS的*.dem格式的高程DEM怎么打开和转换格式
  5. 跟着团子学SAP PPM-项目组合概览-项目组合结构
  6. 清华北大2018届毕业生去向统计
  7. mysql解决中文乱码问题
  8. npm命令安装element-ui报错
  9. 2020-09-24
  10. Part6---Java创建Hbase表