自动化测试过程中,自动化覆盖的功能点和对应测试用例之间的关系基本都是1 VS N,如果每次将测试用例一个个单独执行,不仅效率很低, 无法快速反馈测试结果,而且维护起来很麻烦.在python的单元测试框架unittest中,提供了批量执行的测试用例的方法. 这篇博客,介绍下unittest框架的常用类和方法,以及利用discover()方法批量执行测试用例的方法... 官方文档:unittest单元测试框架 一.unittest框架 首先介绍一下unittest框架和执行测试用例相关的几个模块:…
前言 我们在写用例的时候,单个脚本的用例好执行,那么多个脚本的时候,如何批量执行呢?这时候就需要用到unittet里面的discover方法来加载用例了. 加载用例后,用unittest里面的TextTestRunner这里类的run方法去一次执行多个脚本的用例. 一.新建测试项目 1.pycharm左上角File>New Projetc>Pure Python,在location位置命名一个测试工程的名称:jiekoutest,然后保存 2,在项目下新建test文件夹,文件夹下新建test0…
简介 我们在写用例的时候,单个脚本的用例好执行,那么多个脚本的时候,如何批量执行呢?这时候就需要用到 unittest 里面的 discover 方法来加载用例了.加载用例后,用 unittest 里面的 TextTestRunner 这里类的 run 方法去一次执行多个脚 本的用例.那么前边介绍那么多都是半道开始,半道出家,这篇就带大家从头到尾,一步一步给小伙伴们详细介绍一下. 新建测试项目 1.pycharm 左上角 File>New Projetc>Pure Python,在 locat…
1. 什么是数据驱动? 使用数据驱动有什么好处? 用例执行是靠数据来驱动的,每条测试用例除了测试数据不一样意外,所有的用例代码都是一样的,为了使用例批量执行,我们会使用数据驱动的思想来批量执行测试用例: 好处: 批量的执行测试用例,提高执行的测试效率:数据与脚本分离,测试数据需要修改时,代码不需要修改,只需要修改Excel文件的数据即可: 2. 数据驱动作用: 根据用例的数量来自动生成实例方法, 批量执行用例 from ddt import ddt, data @ddt # ddt和data是黄…
前言 我们在写用例的时候,单个脚本的用例好执行,那么多个脚本的时候,如何批量执行呢?这时候就需要用到unittet里面的discover方法来加载用例了. 加载用例后,用unittest里面的TextTestRunner这里类的run方法去一次执行多个脚本的用例. unittest模块中的TestLoader类有一个discover方法(Python2.7之后)discover(start_dir, pattern='test*.py',top_level_dir=None)递归查找指定目录(s…
一.discover更多测试用例 可以根据不同的功能创建不同的测试文件,甚至是不同的测试目录,测试文件中还可以将不同的小功能划分为不同的测试类,在类下编写测试用例,让整体结构更加清晰 但通过addTest()添加.删除测试用例就变得非常麻烦 TestLoader 类中提供的discover()方法可以自动识别测试用例 discover(start_dir,pattern='test*.py',top_level_dir= None) 找到指定目录下所有测试模块,并可递归查到子目录下的测试模块,只…
前面我们说了,对于不同文件用例,我们可以通过addTest()把用例加载到一个测试套件(TestSuite)来统一执行,对于少量的文件这样做没问题,但是如果有几十上百个用例文件,这样做就太浪费时间了. unittest中的discover()方法可以批量加载用例 discover(start_dir, pattern='test*.py', top_level_dir=None) start_dir:测试模块名或测试用例所在目录 pattern='test*.py':表示用例文件名的匹配方式,此…
import unittest dir = "D:\\work_doc\\pycharm2\\python_Basics" #自动化用例所存放的路径 suit = unittest.defaultTestLoader.discover(dir,pattern="XFS*.py",top_level_dir=None) #匹配出需要执行的py文件 runner = unittest.TextTestRunner() #TextTestRunner类实例化,目的是为了调…
一.Unittest discover()可以根据不同的功能创建不同的测试文件,甚至是不同的测试目录,测试文件中还可以将不同的小功能划分为不同的测试类,在类下编写测试用例,让整体结构更加清晰一般是通过addTest()来添加.删除用例,不同文件不同目录,此时用addTest()就比较麻烦 TestLoader类中提供的discover()方法可以识别测试用例,找到指定目录下所有测试模块,并可递归查到子目录下的测试模块,只有匹配到文件名时才加载discover(start_dir,pattern=…
TestLaoder 该类负责根据各种条件加载测试用例,并将它们返回给测试套件,正常情况下,不需要创建这个类的实例,unittest提供了可以共享的defaultTestLoader类,可以使用其子类和方法创建实例,discover()方法时其中之一 discover(stat_dir,pattern=‘test*.py’,top_level_dir=None) 根据指定目录下所有测试模块,可以查询到子目录下的测试模块,只有匹配到文件名才能被加载,如果不是顶层目录,那么顶层目录必须单独指定 st…