DDT数据驱动基本应用

  • 一、DDT介绍
  • 二、DDT基础使用
    • 1.传递基础数据类型
    • 2.传递一个复杂的数据结构
    • 3.多参数的数据驱动

一、DDT介绍

  • Data Driver Test 数据驱动测试;
  • 作用:由外部数据集合来驱动测试用例执行;
  • 数据驱动:它是一种主要设计模式一,数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变。说的直白些,就是参数化的应用;
  • 核心思想:数据和测试代码的分离
  • 优点:当测试数据发生大量变化的情况下,测试代码可以保持不变;

什么场景下基于ddt进行设计,这种设计模式的意义?

  • 实现同一脚本对多组数据进行测试,最终实现数据与脚本的分离,便于维护与扩展;

  • 下载DDT库:pip install ddt

二、DDT基础使用

1.传递基础数据类型

import unittest
# 导入ddt库下所有内容
from ddt import *# 在测试类前必须首先声明使用 ddt
@ddt
class TestCan(unittest.TestCase):@data(1, 2, 3, 4)def test_int(self, i):print("test_int", i)@data("a", "b", "c", "d")def test_str(self, str):print("test_str", str)

执行结果:

2.传递一个复杂的数据结构

import unittest
from ddt import *@ddt()
class TestDemo(unittest.TestCase):tuples = ((1, 2, 3), (4, 5, 6))lists = [[10, 20, 30], [40, 50, 60]]# 元组@data((1, 2, 3), (4, 5, 6))def test_01_tuple(self, n):print("test_tuple", n)# 元组2@data(*tuples)def test_02_tuples(self, n):print("test_tuples", n)# 列表@data([10, 20, 30], [40, 50, 60])def test_03_list(self, n):print("test_list", n)# 列表2@data([10, 20, 30], [40, 50, 60])@unpackdef test_04_list(self, n1, n2, n3):print("test_04_lists", n1, n2, n3)# 列表3@data(*lists)@unpackdef test_05_list(self, n1, n2, n3):print("test_05_lists", n1, n2, n3)# 字典@data({"value1": 1, "value2": 2}, {"value1": 3, "value2": 4})@unpackdef test_06_dict(self, value1, value2):print("test_dict", value1, value2)if __name__ == '__main__':unittest.main(verbosity=2)

执行结果:

3.多参数的数据驱动

import unittest
from ddt import *@ddt
class TestCase(unittest.TestCase):@data(["admin", "123456"], ["root", "123456"])@unpackdef test_01(self, username, password):print("测试用户登录流程", username, password)if __name__ == '__main__':unittest.main(verbosity=2)

执行结果

  • @unpack :当传递的是复杂的数据结构时使用。比如使用元组或者列表,添加 @unpack 之后, ddt 会自动把元组或者列表对应到多个参数上。字典也可以这样处理;
  • 当没有加unpack时,test_case方法的参数只能填一个;如元组的例子
  • 当你加了unpack时,传递的数据量需要一致;如列表例子中,每个列表我都固定传了三个数据,当你多传或少传时会报错,而test_case方法的参数也要写三个,需要匹配上;

DDT数据驱动基本应用相关推荐

  1. 案例驱动python编程入门-python ddt数据驱动实例代码分享

    python ddt数据驱动最简实例 在接口自动化测试中,往往一个接口的用例需要考虑 正确的.错误的.异常的.边界值等诸多情况,然后你需要写很多个同样代码,参数不同的用例.如果测试接口很多,不但需要写 ...

  2. Excel+DDT数据驱动实例

    一.首先安装dtt模块 数据驱动原理 1.测试数据为多个字典的list类型 2.测试类前加修饰@ddt.ddt 3.case前加修饰@ddt.data() 4.运行后用例会自动加载成N个单独的用例 二 ...

  3. python输入多组测试数据_python ddt数据驱动实例代码分享

    python ddt数据驱动最简实例 在接口自动化测试中,往往一个接口的用例需要考虑 正确的.错误的.异常的.边界值等诸多情况,然后你需要写很多个同样代码,参数不同的用例.如果测试接口很多,不但需要写 ...

  4. 基于Python的接口自动化unittest测试框架和ddt数据驱动详解

    引言 在编写接口自动化用例时,我们一般针对一个接口建立一个.py文件,一条接口测试用例封装为一个函数(方法),但是在批量执行的过程中,如果其中一条出错,后面的用例就无法执行,还有在运行大量的接口测试用 ...

  5. python使用ddt_使用DDT数据驱动测试框架Python

    DDT(数据驱动测试)允许您用不同的测试数据运行一个测试用例,从而使它看起来像多个测试用例. DDT由一个类装饰@ddt(对应您的testcase子类)和两个方法装饰(对于您希望成倍增加的测试)组成: ...

  6. ddt数据驱动 python_Python3数据驱动ddt

    对于同一个方法执行大量数据的程序时,我们可以采用ddt数据驱动的方式,来对数据规范化整理及输出 一.需要使用python的ddt库,ddt,data,unpack方法 1.仅使用ddt和data,代码 ...

  7. ddt数据驱动 python_Python ddt数据驱动

    使用Python ddt数据驱动,为自动化测试用例提供数据 首先安装ddt,  命令:pip install ddt 安装完成后就可以使用ddt了,直接上例子,代码如下所示: # -*- coding ...

  8. 如何快速掌握DDT数据驱动测试?

    如何快速掌握DDT数据驱动测试? 目录:导读 前言 实施数据驱动步骤 数据驱动测试环境准备 测试步骤 数据存储 数据存在当前脚本中 json文件读取测试数据进行数据驱动测试 从xml读取数据进行数据驱 ...

  9. Python Unittest ddt数据驱动

    1.数据驱动介绍: @ddt.ddt(类装饰器,申明当前类使用ddt框架) @ddt.data(函数装饰器,用于给测试用例传递数据),支持传python所有数据类型:数字(int,long,float ...

最新文章

  1. Java除法不精确引入BigDecimal
  2. 【Google官方教程】第三课:缓存Bitmap
  3. 数据分析如何入门,以及如何做职业规划?
  4. nginx 配置优化详解
  5. matlab guide 打开图像并将图像显示到界面
  6. java list分批_Java实用笔记——mybatis批量导入
  7. 7-88 二叉搜索树的结构 (30 分)
  8. 此版本的visual studio无法打开下列项目_深度学习实现高精度钢琴曲转谱Piano transcription项目简明使用教程...
  9. 【爬虫】微博数据采集
  10. 第7章页面布局-布局综合示例
  11. 原码/补码的加减运算and溢出判断
  12. TCP/IP详解(二)数据链路层
  13. vue动态路由变化页面不重新加载问题,实现方式比较简单,就是有点鸡贼
  14. 如何写一份优秀的微信营销方案
  15. 未认证公众号在文章添加链接
  16. java闭锁_Java并发工具类(闭锁CountDownLatch)
  17. win10系统怎么安装显卡驱动,驱动人生详细教程
  18. 注册dll文件的方法集合
  19. 教你怎么在电脑上玩《代号:Ace》手游,《代号:Ace》二次元吃鸡手游电脑版教程
  20. Top 50 Most Popular APIs on RapidAPI (2018)

热门文章

  1. 程序员进阶:怎么成为一个软件架构师?
  2. 博图15.0的wincc流水动画VB脚本
  3. final cut pro(fcpx) 导出视频的图文方法
  4. Go-ICP: A Globally Optimal Solutionto 3D ICP Point-Set Registration(2016)
  5. Docker 常用命令 - 镜像与容器
  6. wordpress最佳架构_2020年最受欢迎和最佳WordPress主题(专家精选)
  7. 客快物流大数据项目(七十一):impala-shell命令参数
  8. 三分屏课件制作_剪映如何制作三宫格视频(分屏功能)详细制作步骤
  9. python的几个有趣点
  10. “终于我从字节离职了....”一个年薪40W的测试工程师的自白....