多测师肖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结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization

SpringBoot集成图片验证码框架easy-captcha的详细过程

《SpringBoot集成图片验证码框架easy-captcha的详细过程》本文介绍了如何将Easy-Captcha框架集成到SpringBoot项目中,实现图片验证码功能,Easy-Captcha是... 目录SpringBoot集成图片验证码框架easy-captcha一、引言二、依赖三、代码1. Ea

Gin框架中的GET和POST表单处理的实现

《Gin框架中的GET和POST表单处理的实现》Gin框架提供了简单而强大的机制来处理GET和POST表单提交的数据,通过c.Query、c.PostForm、c.Bind和c.Request.For... 目录一、GET表单处理二、POST表单处理1. 使用c.PostForm获取表单字段:2. 绑定到结

Java集合中的List超详细讲解

《Java集合中的List超详细讲解》本文详细介绍了Java集合框架中的List接口,包括其在集合中的位置、继承体系、常用操作和代码示例,以及不同实现类(如ArrayList、LinkedList和V... 目录一,List的继承体系二,List的常用操作及代码示例1,创建List实例2,增加元素3,访问元

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

修改若依框架Token的过期时间问题

《修改若依框架Token的过期时间问题》本文介绍了如何修改若依框架中Token的过期时间,通过修改`application.yml`文件中的配置来实现,默认单位为分钟,希望此经验对大家有所帮助,也欢迎... 目录修改若依框架Token的过期时间修改Token的过期时间关闭Token的过期时js间总结修改若依

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

Go中sync.Once源码的深度讲解

《Go中sync.Once源码的深度讲解》sync.Once是Go语言标准库中的一个同步原语,用于确保某个操作只执行一次,本文将从源码出发为大家详细介绍一下sync.Once的具体使用,x希望对大家有... 目录概念简单示例源码解读总结概念sync.Once是Go语言标准库中的一个同步原语,用于确保某个操

MyBatis框架实现一个简单的数据查询操作

《MyBatis框架实现一个简单的数据查询操作》本文介绍了MyBatis框架下进行数据查询操作的详细步骤,括创建实体类、编写SQL标签、配置Mapper、开启驼峰命名映射以及执行SQL语句等,感兴趣的... 基于在前面几章我们已经学习了对MyBATis进行环境配置,并利用SqlSessionFactory核