多测师肖sir___ddt讲解(辅助框架)

2023-11-07 17:52

本文主要是介绍多测师肖sir___ddt讲解(辅助框架),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ddt数据驱动
1、ddt定义:全称data-driver tests ,数据驱动测试,可以实现不同数据运行同一个测试用例。
ddt本质是一个装饰器,一组数据一个场景
主要核心:把业务逻辑装成关键字,在调用关键字

2、为什么要使用ddt?
提高代码的复用率
例如:接口测试每个接口的传参不止一种情况,一般考虑正向场景,逆向场景等多种组合。
所以在测试接口时候通常会编写多条case,而这些case除了参数不同外,并没有其他区别。

3、ddt 的四种模式:
(1)@ddt 引入装饰器
(2)@data 导入数据
(3) @unpack 拆分数据
(4)@file_data 导入数据
4、安装ddt
pip install ddt
在这里插入图片描述
5、ddt实操:
案例1:读取元组的数据

import  unittest
from ddt import  ddt,unpack,data,file_data #导入ddt四个模式
@ddt #引入ddt装饰
class  cms(unittest.TestCase):  #定义一个类,继承unittest.testcase@data(1,2,5,3,4,) #数据  (5条运行几次)def test1(self,a): #a用来接收data数据print(a)
if __name__ == '__main__':unittest.main()

案例2:读取列表中的数据

import  unittest
from ddt import  ddt,unpack,data,file_data #导入ddt四个模式
@ddt #引入ddt装饰
class  cms(unittest.TestCase):  #定义一个类,继承unittest.testcase# @data(1,2,5,3,4,) #数据  (5条运行几次)@data([1,2,3])def test1(self,a): #a用来接收data数据print(a)
if __name__ == '__main__':unittest.main()

案例3:读取列表中的字典

import  unittest
from ddt import  ddt,unpack,data,file_data #导入ddt四个模式
@ddt #引入ddt装饰
class  cms(unittest.TestCase):  #定义一个类,继承unittest.testcase# @data(1,2,5,3,4,) #数据  (5条运行几次)@data({'name':'zs','age':18})def test1(self,a): #a用来接收data数据print(a)
if __name__ == '__main__':unittest.main()

案例4:unpark

import  unittest
from ddt import  ddt,unpack,data,file_data #导入ddt四个模式
@ddt #引入ddt装饰
class  cms(unittest.TestCase):  #定义一个类,继承unittest.testcase# @data(1,2,5,3,4,) #数据  (5条运行几次)@data({'name':'zs','age':18},{'name':'zs1','age':20})@unpackdef test1(self,name,age): #a用来接收data数据print(name,age)
if __name__ == '__main__':unittest.main()

案例5:

import os
import  unittest
from ddt import  ddt,unpack,data,file_data #导入ddt四个模式
@ddt #引入ddt装饰
class  cms(unittest.TestCase):  #定义一个类,继承unittest.testcase# @data(1,2,5,3,4,) #数据  (5条运行几次)# @data({'name':'zs','age':18},{'name':'zs1','age':20})#     # @unpack# def  add(self,a,b):#     print(a+b)@file_data(r'D:\untitled3\abc.json')def test1(self,a,b): #a用来接收data数据print(a,b)
if __name__ == '__main_':unittest.main()

这篇关于多测师肖sir___ddt讲解(辅助框架)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/365314

相关文章

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

C++ vector的常见用法超详细讲解

《C++vector的常见用法超详细讲解》:本文主要介绍C++vector的常见用法,包括C++中vector容器的定义、初始化方法、访问元素、常用函数及其时间复杂度,通过代码介绍的非常详细,... 目录1、vector的定义2、vector常用初始化方法1、使编程用花括号直接赋值2、使用圆括号赋值3、ve

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统

C++快速排序超详细讲解

《C++快速排序超详细讲解》快速排序是一种高效的排序算法,通过分治法将数组划分为两部分,递归排序,直到整个数组有序,通过代码解析和示例,详细解释了快速排序的工作原理和实现过程,需要的朋友可以参考下... 目录一、快速排序原理二、快速排序标准代码三、代码解析四、使用while循环的快速排序1.代码代码1.由快