DDT+yaml实现数据驱动接口自动化

 前言

在之前的文章中我们知道了yaml文件可以进行接口自动化。除了yaml文件,Excel文档也可以用来编写自动化测试用例。

一定很想知道这两者有什么区别吧?

1、Excel使用简单,维护难,多种数据类型转换起来比较复杂

2、yaml学习稍微更难一些(实际学习起来并不难),使用简单、更方便,适用性更强,流行的接口自动化框架都是基于yaml(推荐使用yaml文件方式)

下面详细介绍ddt是如何数据驱动yaml文件进行自动化测试的?

1、上篇已经学习了yaml文件的基本语法,创建testcase.yaml文件,我们把需要测试的请求接口按照请求URL、请求头、请求参数转化成yaml语法格式,用例数组可复制粘贴多个即可批量读取测试用例

在这里插入图片描述

2、在使用DDT数据驱动前,我们得了解一下基本的知识

ddt主要以装饰器的形式来调用

①@ddt.ddt()——用来装饰类,表示当前类使用ddt框架

②@ddt.data()——用来装饰函数用例,给测试用例传数据

③@ddt.unpack()——对传入的数据进行解包

④@ddt.file_data()——装饰函数用例,直接读取yaml文件

[重点]3、创建test_api.py文件创建类进行ddt数据读取接口用例,进行接口自动化测试请求
在这里插入图片描述

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/734903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL通过SQL语句进行递归查询

这里主要是针对于MySQL8.0以下版本,因为MySQL8.0版本出来了一个WITH RECURSIVE函数专门用来进行递归查询的 先看下表格数据,就是很普通的树结构数据,通过parentId关联上下级关系 下面我们先根据上级节点id递归获取所有的下级节点数据&#x…

Jenkins 节点该如何管理?

Jenkins 拥有分布式构建(在 Jenkins 的配置中叫做节点),分布式构建能够让同一套代码在不同的环境(如:Windows 和 Linux 系统)中编译、测试等 Jenkins 的任务可以分布在不同的节点上运行 节点上需要配置 Java 运行时环境,JDK 版本大于 1.5 节…

2024春招算法打卡-腾讯WXG

大数相乘 class Solution {public String multiply(String num1, String num2) {String ZERO_STR "0";String ONE_STR "1";// 其中一个为0直接返回0if(ZERO_STR.equals(num1) || ZERO_STR.equals(num2)){return ZERO_STR;}// 其中一个为1直接返回另一…

C语言-写一个简单的Web服务器(一)

基于TCP的web服务器 概述 C语言可以干大事,我们基于C语言可以完成一个简易的Web服务器。当你能够自行完成web服务器,你会对C语言有更深入的理解。对于网络编程,字符串的使用,文件使用等等都会有很大的提高。 关于网络的TCP协议在…

zookeeper Study

zk介绍;一种分布式协调服务。 分布式锁,集群选举,数据同步 。 zk都能进行操作,redis,kafka,rabbitmq,都能够用zk做协调管理服务。关键时zk简单操作。 应用说明: 简单介绍一下流程 &…

芯片工程系列(2)传统封装(引线键合与裸片贴装)

英文缩写 Die:即为wafer上切割出来的芯片Wire Bonding:引线键合Dicing:晶圆切割Bias voltage:偏压lead frame:引线框架First Bond:一次键合Second Bond:二次键合PCB:印制电路板&…

JMH287亲测【鸣潮】一键内测风景端V1.0.2已整理并录制视频教学

资源介绍: 否需要虚拟机:否 文件大小:压缩包约15G 支持系统:win7、win10、win11 硬件需求:运行内存16G 4核及以上CPU独立显卡 资源截图: 下载地址: JMH287【鸣潮】一键端 [V1.0.2]

SpringMVC09、Ajax

9、Ajax 9.1、简介 AJAX Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互…

Spring Security的API Key实现SpringBoot 接口安全

Spring Security的API Key实现SpringBoot 接口安全 Spring Security 提供了各种机制来保护我们的 REST API。其中之一是 API 密钥。API 密钥是客户端在调用 API 调用时提供的令牌。 在本教程中,我们将讨论如何在Spring Security中实现基于API密钥的身份验证。 API…

CSP初赛备考—汉字与运算

汉字 英文字符 英文字符的编码有两种:①ASCII标准码,7位(128个字符)②ASCII扩展吗,8位(256个字符) 中文字符 汉字分为两级:①一级汉字:3755个,按汉语拼音字母的次序排列。②二级汉字:3008个,按偏旁部首排列。 那么,怎么编码呢?要使用区位码和字形码等等。 区…

【UE5】游戏框架GamePlay

项目资源文末百度网盘自取 游戏框架 游戏 由 游戏模式(GameMode) 和 游戏状态(GameState) 所组成 加入游戏的 人类玩家 与 玩家控制器(PlayerController) 相关联 玩家控制器允许玩家在游戏中拥有 HUD,这样他们就能在关卡中拥有物理代表 玩家控制器还向玩家提供 …

在centos7系统中如何给docker配置代理

一、需求场景 生产环境私有云中,通常一个集群的机器中只有几台机器可以直接访问公网,其他机器需要通过代理的方式从能访问公网的机器出去,在已经做了如下配置之后,使用docker pull命令已经报错超时timeout,这时可以尝…

利用tree命令自动保存文件层级结构

tree命令的使用 为了将上图左侧的文件目录,生成上图右侧中的文件夹结构列表,保存在txt中,使用了如下cmd命令: C:\armadillo-12.8.0>tree .>list.txt以上tree命令分为3部分: tree 命令. 在当前目录>list.tx…

02hadoop伪分布式搭建

3. 环境安装 3.1 安装方式 单机模式 只能启动MapReduce 伪分布式 能启动HDFS、MapReduce 和 YARN的大部分功能 完全分布式 能启动Hadoop的所有功能 3.2 安装JDK 3.2.1 JDK安装步骤 下载JDK安装包(下载Linux系统的 .tar.gz 的安装包) https://www…

循序渐进丨MogDB 数据库特性之动态数据脱敏机制

数据脱敏是行之有效的数据库隐私保护方案之一,可以在一定程度上限制非授权用户对隐私数据的窥探。动态数据脱敏机制是一种通过定制化脱敏策略来实现对隐私数据保护的技术,可以在保留原始数据的前提下有效地解决非授权用户对敏感信息访问的问题。当管理员…

稀碎从零算法笔记Day10-LeecCode:赎金信

题型:哈希表、字符串 链接:383. 赎金信 - 力扣(LeetCode) 来源:LeetCode 题目描述 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以…

Cloud-Sleuth分布式链路追踪(服务跟踪)

简介 在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每一个前端请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败 GitHub - spring-cloud/spring-cloud-sl…

文案高手不能说的秘密,拿来就用的文案素材库

一、素材描述 本套文案素材,大小58.20M,共有43个文件。 二、素材目录 (一)、一阶文案库 01.1-文案写作行业:年入百万文案高手的赚钱朋友圈!.pdf 02.2-个人品牌创业:全网顶流个人品牌大咖都…

WPF(1)的MVVM的数据驱动学习示例

MVVM Model:数据模型、View 界面、ViewModel 业务逻辑处理 项目结构 界面数据绑定 <Window x:Class"WpfApp1.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/x…

自然语言发展历程

一、基础知识 自然语言处理&#xff1a;能够让计算理解人类的语言。 检测计算机是否智能化的方法&#xff1a;图灵测试 自然语言处理相关基础点&#xff1a; 基础点1——词表示问题&#xff1a; 1、词表示&#xff1a;把自然语言中最基本的语言单位——词&#xff0c;将它转…