python接口自动化测试(七)-unittest-批量用例管理

简介:

  我们日常项目中的接口测试案例肯定不止一个,当案例越来越多时我们如何管理这些批量案例?如何保证案例不重复?如果案例非常多(成百上千,甚至更多)时如何保证案例执行的效率?如何做(批量)测试数据的管理?如何做到数据与脚本分离?

  以上这些问题才是我们自动化测试中要重点考虑的问题,单个用例其实并不难。

来看一下在unittest框架中如何管理批量案例:

 

一、手工加载批量用例:

复制代码
# -*- coding:utf-8 -*-
# 批量用例执行--手工加载

import unittest

class TestOne(unittest.TestCase):
    def setUp(self):
        print '\ncases before'
        pass

    def test_add(self):
        '''test add method'''
        print 'add...'
        a = 3 + 4
        b = 7
        self.assertEqual(a, b)

    def test_sub(self):
        '''test sub method'''
        print 'sub...'
        a = 10 - 5
        b = 5
        self.assertEqual(a, b)

    def tearDown(self):
        print 'case after'
        pass

if __name__ == '__main__':
    # 1、构造用例集
    suite = unittest.TestSuite()

    # 2、执行顺序是安加载顺序:先执行test_sub,再执行test_add
    suite.addTest(TestOne("test_sub"))
    suite.addTest(TestOne("test_add"))

    # 3、实例化runner类
    runner = unittest.TextTestRunner()
# 4、执行测试 runner.run(suite)
复制代码

 

二、自动加载批量用例:

复制代码
# -*- coding:utf-8 -*-
# 批量用例执行--自动加载
import unittest
import os

class TestOne(unittest.TestCase):
    def setUp(self):
        print '\ncases before'
        pass

    def test_add(self):
        '''test add method'''
        print 'add...'
        a = 3 + 4
        b = 7
        self.assertEqual(a, b)

    def test_sub(self):
        '''test sub method'''
        print 'sub...'
        a = 10 - 5
        b = 5
        self.assertEqual(a, b)

    def tearDown(self):
        print 'case after'
        pass

if __name__ == '__main__':
    # 1、设置待执行用例的目录
    test_dir = os.path.join(os.getcwd())

    # 2、自动搜索指定目录下的cas,构造测试集,执行顺序是命名顺序:先执行test_add,再执行test_sub
    discover = unittest.defaultTestLoader.discover(test_dir, pattern='test_*.py')

    # 实例化TextTestRunner类
    runner = unittest.TextTestRunner()

    # 使用run()方法运行测试套件(即运行测试套件中的所有用例)
    runner.run(discover)
复制代码

 

以上只是解决了如何管理批量案例的问题,其它的问题如何做(批量)测试数据的管理?如何做到数据与脚本分离?后续在介绍。

 

本文转自贺满博客园博客,原文链接:http://www.cnblogs.com/puresoul/p/7490737.html ,如需转载请自行联系原作者。

目录
相关文章
|
测试技术 Python
python接口自动化(二十六)--批量执行用例 discover(详解)
我们在写用例的时候,单个脚本的用例好执行,那么多个脚本的时候,如何批量执行呢?这时候就需要用到 unittest 里面的 discover 方法来加载用例了。加载用例后,用 unittest 里面的 TextTestRunner 这里类的 run 方法去一次执行多个脚 本的用例。那么前边介绍那么多都是半道开始,半道出家,这篇就带大家从头到尾,一步一步给小伙伴们详细介绍一下。
221 0
python接口自动化(二十六)--批量执行用例 discover(详解)
|
测试技术 Python
python中pytest收集用例规则与运行指定用例详解
python中pytest收集用例规则与运行指定用例详解
159 0
|
测试技术
python+pytest接口自动化(12)-自动化用例编写思路 (使用pytest编写一个测试脚本)
经过之前的学习铺垫,我们尝试着利用pytest框架编写一条接口自动化测试用例,来厘清接口自动化用例编写的思路。
python+pytest接口自动化(12)-自动化用例编写思路 (使用pytest编写一个测试脚本)
|
测试技术 Python
python+pytest单元测试框架之执行用例
接着上篇《python之pytest单元测试框架介绍》文章,本篇文章就pytest测试规范执行测试用例 一、执行多个测试用例 1.在一个测试类中创建多个测试用例。
2518 0
|
测试技术 Python
python接口自动化测试(七)-unittest-批量用例管理
  我们日常项目中的接口测试案例肯定不止一个,当案例越来越多时我们如何管理这些批量案例?如何保证案例不重复?如果案例非常多(成百上千,甚至更多)时如何保证案例执行的效率?如何做(批量)测试数据的管理?如何做到数据与脚本分离?   以上这些问题才是我们自动化测试中要重点考虑的问题,单个用例其实并不难。
1545 0
|
18天前
|
存储 人工智能 数据处理
Python:编程的艺术与科学的完美交融
Python:编程的艺术与科学的完美交融
19 1
|
4天前
|
JSON 数据格式 开发者
pip和requests在Python编程中各自扮演着不同的角色
`pip`是Python的包管理器,用于安装、升级和管理PyPI上的包;`requests`是一个HTTP库,简化了HTTP通信,支持各种HTTP请求类型及数据交互。两者在Python环境中分别负责包管理和网络请求。
19 5
|
7天前
|
存储 Python 容器
Python高级编程
Python集合包括可变的set和不可变的frozenset,用于存储无序、不重复的哈希元素。创建集合可使用{}或set(),如`my_set = {1, 2, 3, 4, 5}`。通过add()添加元素,remove()或discard()删除元素,如`my_set.remove(3)`。
10 0