多测师肖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

相关文章

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

Java进程CPU使用率过高排查步骤详细讲解

《Java进程CPU使用率过高排查步骤详细讲解》:本文主要介绍Java进程CPU使用率过高排查的相关资料,针对Java进程CPU使用率高的问题,我们可以遵循以下步骤进行排查和优化,文中通过代码介绍... 目录前言一、初步定位问题1.1 确认进程状态1.2 确定Java进程ID1.3 快速生成线程堆栈二、分析

javascript fetch 用法讲解

《javascriptfetch用法讲解》fetch是一个现代化的JavaScriptAPI,用于发送网络请求并获取资源,它是浏览器提供的全局方法,可以替代传统的XMLHttpRequest,这篇... 目录1. 基本语法1.1 语法1.2 示例:简单 GET 请求2. Response 对象3. 配置请求

Java Stream.reduce()方法操作实际案例讲解

《JavaStream.reduce()方法操作实际案例讲解》reduce是JavaStreamAPI中的一个核心操作,用于将流中的元素组合起来产生单个结果,:本文主要介绍JavaStream.... 目录一、reduce的基本概念1. 什么是reduce操作2. reduce方法的三种形式二、reduce

C++ HTTP框架推荐(特点及优势)

《C++HTTP框架推荐(特点及优势)》:本文主要介绍C++HTTP框架推荐的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Crow2. Drogon3. Pistache4. cpp-httplib5. Beast (Boos

SpringBoot基础框架详解

《SpringBoot基础框架详解》SpringBoot开发目的是为了简化Spring应用的创建、运行、调试和部署等,使用SpringBoot可以不用或者只需要很少的Spring配置就可以让企业项目快... 目录SpringBoot基础 – 框架介绍1.SpringBoot介绍1.1 概述1.2 核心功能2

CSS引入方式和选择符的讲解和运用小结

《CSS引入方式和选择符的讲解和运用小结》CSS即层叠样式表,是一种用于描述网页文档(如HTML或XML)外观和格式的样式表语言,它主要用于将网页内容的呈现(外观)和结构(内容)分离,从而实现... 目录一、前言二、css 是什么三、CSS 引入方式1、行内样式2、内部样式表3、链入外部样式表四、CSS 选

Spring框架中@Lazy延迟加载原理和使用详解

《Spring框架中@Lazy延迟加载原理和使用详解》:本文主要介绍Spring框架中@Lazy延迟加载原理和使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、@Lazy延迟加载原理1.延迟加载原理1.1 @Lazy三种配置方法1.2 @Component