python使用discover方法遍历所有要执行的用例

当我们写了一个单个py的测试文件时直接运行就ok了,但当我们有很多很多个这样的py

时,难道要一个一个的点击来运行吗,当然不是。我们可以通过discover方法来找到所有的

用例。

下面直接举例说明discover用法:
一、 准备工作

目录结构:

DiscoverCase.py 文件代码

import unittest
import os

def discover_case(case_dir):
    # 待执行用例的目录
    testcase = unittest.TestSuite()
    discover = unittest.defaultTestLoader.discover(case_dir,pattern="*.py",top_level_dir=None)
    # discover方法筛选出来的用例,循环添加到测试套件中
    print(discover)
    for test_suite in discover:
        for test_case in test_suite:
            print(test_case)
            # 添加用例到testcase
            #testcase.addTests(test_case)
            testcase.addTests(test_case)

    return(testcase)
path = os.path.join(os.getcwd(), "测试用例")
case = discover_case(case_dir=path)
print(case)

Test1代码(test2~4代码基本相同):

注意:每个testcase里面的执行用例(即以test开头的函数)必须大于或等于两个,不然会报错。

二、 写好这些后我们就直接跑程序看结果

运行后用例的文件名、类名、函数名都会遍历出来

是不是很简单啊。

注意:如果用例名称全为中文是不可以加载的到的,必须以字母开始,比如“i登录.py”

这样是可以被加载到的,如果直接写”登录.py”这样是不能被加载到的。

原文地址:http://blog.51cto.com/laomomo/2060288

时间: 2024-11-02 16:45:11

python使用discover方法遍历所有要执行的用例的相关文章

python接口自动化测试二十五:执行所有用例,并生成HTML测试报告

    import requestsimport unittest class TestQQ(unittest.TestCase):    '''测试QQ号接口'''      # 此注释将展示到测试报告的测试组类 def test_qq(self):        '''测试QQ号码,正确的appkey'''      # 此注释将展示到测试报告的用例标题        url = 'http://japi.juhe.cn/qqevaluate/qq'        par = {     

Python os.walk() 方法遍历文件目录

概述 os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下. os.walk() 方法是一个简单易用的文件.目录遍历器,可以帮助我们高效的处理文件.目录方面的事情. 在Unix,Windows中有效. 语法 walk()方法语法格式如下: os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]]) 参数 top -- 是你所要便利的目录的地址, 返回的是一个三元组(root,dirs,files)

利用Python的unittest单元测试框架的discover方法批量执行脚本用例

1.在用Python自动化时,执行单个脚本用例那都是so easying当脚本用例不断地增多时,那就蒙蔽了,一个个来跑到什么时候才跑完,所以discover方法作用就出来,废话不多,小编直接上代码了,如有疑问,可以咨询小编 #!/usr/bin/python# -*- coding: utf-8 -*-from selenium import webdriverimport time,osfrom selenium.webdriver.common.action_chains import Ac

jenkins执行python脚本的方法,和python版本的兼容性问题

在jenkins上打算运行一段python脚本,查到一些常用的方法,下面会介绍.还遇到了版本兼容性问题导致的怎么都执行不成功,最终试了各种版本,定位到兼容性问题,真是各种坑. 一般有三种方法:1.安装执行python的插件: Python Plugin,安装后在配置那里就可以看到以下的选项,可以在Script部分直接写python代码 2. 用Execute Windows batch command执行python脚本 3. 用Execute shell执行python脚本,注意开始要写#!p

Python中strip方法的妙用

[开胃小菜] 当提到python中strip方法,想必凡接触过python的同行都知道它主要用来切除空格.有以下两种方法来实现. 方法一:用内置函数 #<python> if __name__ == '__main__': str = ' Hello world ' print '[%s]' %str.strip() #</python> 方法二:调用string模块中方法 #<python> import string if __name__ == '__main__

Python中使用item()遍历字典

Python中通常使用for...in遍历字典,本文使用item()方法遍历字典. item() item()方法把字典中每对key和value组成一个元组,并把这些元组放在列表中返回. DEMO 代码如下: #!/usr/bin/env python# -*- coding: utf-8 -*-dict = {"name":"zhangsan","age":"30","city":"shangh

Python 的一些方法

有关 Python 内编写类的各种技巧和方法(构建和初始化.重载操作符.类描述.属性访问控制.自定义序列.反射机制.可调用对象.上下文管理.构建描述符对象.Pickling). 你可以把它当作一个教程,进阶,或者使用参考:我希望它能够成为一份针对 Python 方法的用户友好指南. 1.介绍 这份指南是几个月内最有价值的 Blog 投稿精华.它的主题是向大家讲述 Python 中的神奇方法. 何为神奇方法呢?它们是面向 Python 中的一切,是一些特殊的方法允许在自己的定义类中定义增加"神奇&

Python 字典 items() 方法

Python 字典 items() 方法以列表形式(并非直接的列表,若要返回列表值还需调用list函数)返回可遍历的(key, value) 元组数组. >>> D = {'Google': 'www.google.com', 'Runoob': 'www.runoob.com', 'taobao': 'www. taobao.com'} >>> print(D.items()) dict_items([('Google', 'www.google.com'), ('R

Python内建方法

参考: https://docs.python.org/3.4/library/functions.html https://docs.python.org/2/library/functions.html http://blog.csdn.net/jgood/article/details/4371991 以上链接分别为Python官网的3.4版本的内建方法说明.2.X(指2.6和2.7)版本的内建方法说明.以及JGood对2.X版本的内建方法说明的翻译. abs(x) 返回一个数的绝对值.参