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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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”这样是不能被加载到的。

以上是关于python使用discover方法遍历所有要执行的用例的主要内容,如果未能解决你的问题,请参考以下文章

Python- discover()方法与执行顺序补充

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

selenium之批量执行测试用例

python接口自动化(二十六)--批量执行用例 discover(详解)

python unittest单元测试框架-2discover

Python单元测试框架unittest之批量用例管理(discover)