安装

pip install ddt

数据驱动 ddt  可以使用的地方很多

比如:

1. 做接口测试的参数化

2. 读取自动化测试关键字模型的测试用例

demo

import ddt, unittest

lists = [[1, 'a'], [2, 'b'], [3, 'c']]

@ddt.ddt
class Test(unittest.TestCase):
def setUp(self) -> None:
print('分割线-----------------------') def tearDown(self) -> None:
print('分割线-----------------------') """test01 传入 list"""
@ddt.data([1, 'a'], [2, 'b'], [3, 'c'])
def test01(self, a):
print(a, '-->', a[0], '-->', a[1]) """test02 传入 list , 并对 list 解包"""
@ddt.data([1, 'a'], [2, 'b'], [3, 'c'])
def test02(self, a):
print(a, '-->', a[0], '-->', a[1]) """test03 在外部传入 list"""
@ddt.data(*lists)
def test03(self, a):
print(a, '-->', a[0], '-->', a[1]) """test04 传入 dict"""
@ddt.data({'name': 'zhangsan', "age": 18}, {'name': 'lisi', "age": 19}, {'name': 'wangwu', "age": 17})
def test04(self, data):
print(data['name'], data['age']) """test05 传入 file"""
@ddt.file_data('C:\\a\\data_ddt\\a.json')
def test05(self, name, age):
print(name,age) if __name__ == '__main__':
unittest.main()

说明:

# a.json

[
{
"name": "张三",
"age": "18"
},
{
"name": "李四",
"age": "19"
}
]

test01  输出:

test02 输出

test03 输出

test04 输出

test05 输出

数据驱动ddt简单使用的更多相关文章

  1. python接口自动化测试 - 数据驱动DDT模块的简单使用

    DDT简单介绍 名称:Data-Driven Tests,数据驱动测试 作用:由外部数据集合来驱动测试用例的执行 核心的思想:数据和测试代码分离 应用场景:一组外部数据来执行相同的操作 优点:当测试数 ...

  2. Python数据驱动DDT的应用

    在开始之前,我们先来明确一下什么是数据驱动,在百度百科中数据驱动的解释是:数据驱动测试,即黑盒测试(Black-box Testing),又称为功能测试,是把测试对象看作一个黑盒子.利用黑盒测试法进行 ...

  3. python webdriver 测试框架-数据驱动DDT的例子

    先在cmd环境 运行 pip install ddt 安装数据驱动ddt模块  脚本: #encoding=utf-8 from selenium import webdriver import un ...

  4. unittest---unittest数据驱动(ddt)

    在做测试的时候,有些地方无论是接口还是UI只是参数数据的输入不一样,操作过程是一样的.重复去写操作过程会增加代码量,我们可以通过参数化的方式解决这个问题,也叫做数据驱动,我们通过python做参数化的 ...

  5. Python 数据驱动ddt 使用

    准备工作: pip install ddt 知识点: 一,数据驱动和代码驱动: 数据驱动的意思是  根据你提供的数据来测试的  比如 ATP框架 需要excel里面的测试用例 代码驱动是必须得写代码  ...

  6. 数据驱动ddt

    在设计用例的时候,有些用例操作过程是一样的,只是参数数据输入的不同,如果用例重复的去写操作过程会增加代码量,对于这种多组数据的测试用例,可以使用数据驱动设计模式,一组数据对应一个测试用例,用例自动加载 ...

  7. Python3数据驱动ddt

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

  8. unittest使用数据驱动ddt

    简介 ddt(data driven test)数据驱动测试:由外部数据集合来驱动测试用例,适用于测试方法不变,但需要大量变化的数据进行测试的情况,目的就是为了数据和测试步骤的分离 由于unittes ...

  9. python之数据驱动ddt操作(方法三)

    import unittestfrom selenium import webdriverfrom selenium.webdriver.common.by import Byimport unitt ...

  10. python之数据驱动ddt操作(方法二)

    import unittestfrom ddt import ddt,unpack,datafrom selenium import webdriverfrom selenium.webdriver. ...

随机推荐

  1. 【Azure K8S | AKS】在AKS中创建 StatefulSet 示例

    问题描述 [Azure K8S | AKS]在AKS集群中创建 PVC(PersistentVolumeClaim)和 PV(PersistentVolume) 示例 [Azure K8S|AKS]进 ...

  2. Java 重写小练习

    1 package com.bytezero.inherit3; 2 3 public class CylinderTest 4 { 5 public static void main(String[ ...

  3. 推进行业生态发展完善,中国信通院第八批RPA评测工作正式启动

    随着人工智能.云计算.大数据等新兴数字技术的高速发展,数字劳动力应用实践步伐加快,以数字生产力.数字创造力为基础的数字经济占比逐年上升. 近年来,机器人流程自动化(Robotic Process Au ...

  4. OBS Studio多开/多平台直播的最佳解决方案

    OBS是一款强大的PC端免费的直播推流及录制工具,功能很强大,它支持开发者根据需求开发插件集成使用 我们知道OBS支持通过插件来实现多路推流,它的优点是只需开启一个OBS窗口就可以同时推流到多个不同的 ...

  5. centos 磁盘满

    1.使用命令:df -lk 找到已满磁盘 2.使用命令:du --max-depth=1 -h 查找大文件,删除

  6. Spring事务(四)-事务失效场景

    有时候,我们明明在类或者方法上添加了@Transactional注解,却发现方法并没有按事务处理.其实,以下场景会导致事务失效. 1.事务方法所在的类没有加载到Spring IOC容器中. Sprin ...

  7. RocketMQ为什么这么快?我从源码中扒出了10大原因!

    大家好,我是三友~~ RocketMQ作为阿里开源的消息中间件,深受广大开发者的喜爱 而这其中一个很重要原因就是,它处理消息和拉取消息的速度非常快 那么,问题来了,RocketMQ为什么这么快呢? 接 ...

  8. Module not specified-使用IDEA出现问题

    一.问题由来 使用IDE导入一个项目时,准备启动这个项目,然后突然报错,错误信息如标题中所示Module not specified.这个项目之前都还好好的 怎么突然就运行不了了呢?让我感到很是疑惑, ...

  9. Caxa 二次开发 ObjectCRX-1 踩坑:环境配置以及 Helloworld

    绝了,坑是真 nm 的多,官方给的文档里到处都是坑. 用的环境 ObjectCRX,以下简称 objcrx. #1 安装环境 & 参考文档的大坑 #1.1 Caxa 提供的文档和环境安装包 首 ...

  10. Linux高级IO

    readv.writev API: #include <sys/uio.h> ssize_t readv(int fd, const struct iovec* vector, int c ...