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

相关文章

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe

MySQL连表查询之笛卡尔积查询的详细过程讲解

《MySQL连表查询之笛卡尔积查询的详细过程讲解》在使用MySQL或任何关系型数据库进行多表查询时,如果连接条件设置不当,就可能发生所谓的笛卡尔积现象,:本文主要介绍MySQL连表查询之笛卡尔积查... 目录一、笛卡尔积的数学本质二、mysql中的实现机制1. 显式语法2. 隐式语法3. 执行原理(以Nes

RabbitMQ消费端单线程与多线程案例讲解

《RabbitMQ消费端单线程与多线程案例讲解》文章解析RabbitMQ消费端单线程与多线程处理机制,说明concurrency控制消费者数量,max-concurrency控制最大线程数,prefe... 目录 一、基础概念详细解释:举个例子:✅ 单消费者 + 单线程消费❌ 单消费者 + 多线程消费❌ 多

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

从入门到进阶讲解Python自动化Playwright实战指南

《从入门到进阶讲解Python自动化Playwright实战指南》Playwright是针对Python语言的纯自动化工具,它可以通过单个API自动执行Chromium,Firefox和WebKit... 目录Playwright 简介核心优势安装步骤观点与案例结合Playwright 核心功能从零开始学习

Spring 框架之Springfox使用详解

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