资深测试总结,自动化测试-JSON+YAML+CSV+Excel数据驱动(详细)

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

数据驱动

在自动化测试中,把测试中使用到的数据分离出来

把测试数据放在Json文件中

新建文件“xxx.json”;
放在JSON文件中,花括号开头(字典类型);

注意:
JSON中对象的属性名必须为双引号,属性值如果是字符串也必须是双引号;
JSON中只要设计到字符串,就必须使用双引号;

C1

在测试中调用json文件中的数据(字典类型 根据key获取值)

C2

C3

测试数据放在YAML文件

新建文件“xxxx.yaml”;
注意:
yaml文件中的冒号后面必须要有一个空格,如果没有空格,颜色都是不对的

C4

yaml.safe_load()读取文件
输出之后如下图,看到是个字典类型

C5

在测试中调用yaml文件中的数据(字典类型 根据键获取值)

C6

Python中特殊字符的注意事项:
js、java、go语言的: “null” “true” “false”
相当于python中的:“None” “True” “False”
有异常时 在python中CTRL+R 替换一下。

csv文件的读取

通过列表的方式读取:

import csv# 通过列表的方式读取csv文件
def readCsvList():lists=[]with open('data.csv','r',encoding='utf-8')as f:reader=csv.reader(f)# 第一行不读 从第二行开始(忽略第一行)next(reader)# 对reader进行循环for item in reader:# 把它添加到列表中lists.append(item)return lists
print(readCsvList())

通过字典的方式读取:

import csv# 字典的方式读取csv文件
def readCsvDict():lists=[]with open('data.csv','r',encoding='utf-8-sig')as f:reader=csv.DictReader(f)# 对reader进行循环for item in reader:# 把它添加到列表中lists.append(dict(item))return lists
print(readCsvDict())

excel文件的读取

# 这个需要安装第三方库 pip install xlrd==1.2.0
import xlrddef readExcel():lists=[]book=xlrd.open_workbook('data.xlsx')# 这个读那个sheet里的文件sheet=book.sheet_by_index(0)# 通过行进行循环,range表达是范围for item in range(1,sheet.nrows):# 把它的值添加到列表一个列表中lists.append(sheet.row_values(item))return lists
print(readExcel())
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有经历过千锤百炼的人,才能握住成功的钥匙;只有不断奋斗的人,才能谱写自己的辉煌篇章。相信自己的能力,勇往直前,每一步都是实现梦想的基石。无论困难多大,始终坚持,奋斗不止,你定能创造属于自己的辉煌华章!

只有拼尽全力,才能让梦想破茧成蝶;只有不畏艰难,才能书写人生壮丽篇章;只有勇往直前,才能攀登人生巅峰。奋斗吧,未来属于你!

只有燃烧内心的激情,才能迸发出无尽的力量;只有坚持不懈的努力,才能实现梦想的辉煌。奋斗吧,你的努力将点亮更广阔的未来!

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

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

相关文章

【Linux】udp服务器实现大型网络聊天室

udp终结篇~ 文章目录 前言一、udp服务器实现大型网络聊天室总结 前言 根据上一篇文章中对于英汉互译和远程操作的两个小功能大家应该已经学会了,我们的目的是让大家可以深刻的理解udp服务器所需要的接口已经实现的简单步骤,下面我们开始实现网络聊天室。…

STM32单片机语音识别台灯控制系统人检测亮度调节

实践制作DIY- GC00156-语音识别台灯控制系统 一、功能说明: 基于STM32单片机设计-语音识别台灯控制系统 二、功能说明: 电路:STM32F103C系列最小系统串口语音识别模块LED灯板1个红外传感器 1.任何时候没有人则关闭灯。有人可以自动打开灯。…

Python物联网开发-Python_Socket通信开发-Python与Tcp协议物联网设备通信-Socket客户端

一、前言 Python在物联网开发中的重要愈来愈重,因此,掌握Python语言与物联网设备之间的通信就显得尤为重要,可以通过编写Python程序实现获取物联网设备的传感器数值并可以更改物联网设备上的执行器状态。 二、程序实现 首先,当使…

HarmonyOS学习路之方舟开发框架—学习ArkTS语言(基本语法 一)

初识ArkTS语言 ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。因此,在学习ArkTS语言之前,建议开发者具备TS语…

Linux内核的任务:

硬件与软件之间的中间层:内核在技术层面上充当硬件和软件之间的中间层,负责将应用程序的请求传递给硬件,并处理硬件设备和组件的寻址和操作。 应用程序的接口:对于应用程序来说,内核是它们与硬件之间的接口。应用程序通…

抓 https 报文新方案 -Magisk+LSPosed,来试试吧

关于如何抓取Android端https报文,在之前一篇文章中有介绍可以通过VitualXposedJustTrustMe模块禁用SSL验证,这样可以抓取到https,还是有一些同学反馈以下的一些问题: App在低版本的Android上不兼容,需要用高版本的And…

uniapp 集成七牛云,上传图片

1 创建项目 我是可视化创建项目的 ,cli创建的项目可以直接使用npm安装七牛云。 2 拷贝qiniuUploader.js到项目,下面的回复 放了qiniuUploader.js百度云链接。 3 在需要使用qiniuUploader的vue文件 引入。 4 相册选择照片,或者拍照后&#xff…

视频问答新增或修改视频问答

通过问答id新增或修改视频问答题目 新增或修改视频问答 图3:视频问答功能(观看效果) 图4:视频问答功能(观看效果) 图5:视频问答功能(观看效果) 单元测试 Testpublic voi…

zabbix 6.0 监控LNPM环境

这里的LNPM是指Linux,Nginx,php-fpm和Mysql.具体版本如下。 Linux : centos7.9Nginx: 1.22.1php-fpm:7.4Mysql: 8.0 一、centos7.9 编译安装Nginx 为了弄清楚Nginx各种配置,我们采用编译安装的形式部署Nginx。 1.下载安装包 首先下载Nginx软件包&am…

为什么媒体和创意工作者更喜欢 Splashtop 进行远程访问

在当今快速发展的数字环境中,可靠的远程访问已成为全球媒体和创意工作者不可或缺的工具。 远程访问让创意工作者不再受传统办公空间边界的限制,完全实现了随时随地办公。无论是实时剪辑、高分辨率渲染还是其他创意任务,创意工作者对高性能远…

ENSP实验四:搭建VPN(GRE,配置安全策略)

首先分析一下数据的流向: PC1->PC2 1、FW1:trust->dmz 【192.168.1.1->192.168.2.1 ICMP】 2、AR1->AR2:【202.1.1.1->202.1.3.1|GRE|192.168.1.1->192.168.2.1 icmp】 3、FW2: ①untrust->local …

kotlin中使用Room数据库(包含升降级崩溃处理)

目录 1.导入依赖库 2.数据实体类 3.数据访问对象 (DAO) 4.数据库类 5.调用DAO里面的“增、删、改、查”方法 6.数据库升降级处理 升级(保存数据库历史数据): 升级(不保存数据库历史数据): 降级&…

SpringCloud学习路线(1)—— 从头开始的微服务

一、服务架构的历史 现有的服务框架: 单体架构 概念: 将业务所有功能集中在一个项目中开发,打包部署优点: 架构简单,部署成本低缺陷: 耦合度高 分布式架构 概念: 根据业务功能对系统进行拆分&a…

了解 3DS MAX 3D摄像机跟踪设置:第 7 部分

推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. 在SynthEyes中跟踪素材 步骤 1 打开SynthEyes软件。 打开合成之眼 步骤 2 在跟踪素材之前,您需要设置首选项。因为,你 稍后将在 3ds Max 中工作,必须根据 3ds Max…

【源码解析】Mybatis执行原理

Mybatis执行原理 1.获取SqlSessionFactory2.创建SqlSession3.创建Mapper、执行SQL MyBatis 是一款优秀的持久层框架,MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和…

elasticsearch学习入门+实战

学习链接1 基础概念 官网学习:地址 基本命令 PS:使用Apifox测试 查询所有索引库 添加索引库 添加时,加入分词器 添加时,加入记录属性值 查询获取索引库 删除索引库 添加文档 必须要在添加文档值的时候用【_doc】&a…

如何在 Excel 中快速生成随机密码?

有时,我们可能想创建随机密码来保护某些重要内容。 但是,您有什么技巧可以在Excel中快速生成随机密码? 在这里,我有一些可以在Excel工作表中处理的方法。 用公式生成随机密码 使用插入随机数据生成随机密码​编辑 用公式生成随机…

IPD跟敏捷、DevOps一样吗?有什么区别?

1992年在激烈的全球市场竞争下,IBM遭遇到了严重的财政困难,公司销售收入停止增长,利润急剧下降。经过内部分析,IBM发现他们在研发费用、研发损失费用和产品上市时间等几个方面远远落后于业界最佳。为了重新获得市场竞争优势&#…

思维决定发展,测试人也不例外

最近特别懒,不想码字,原本写作就很差,更是退化严重。社招和校招面试过很多人,从十年前自己还很弱的时候学着面试,到数百次面试积累之后,面对候选人的时候,我的内心依然有些许紧张,非…

初识protobuf

Protobuf 全称Protocol Buffers(协议缓冲区),是一种轻量级、高效的数据序列化格式,由Google开发。它被设计用于结构化数据的序列化、反序列化以及数据交换,常用于网络通信和数据存储等领域。 Protobuf使用简洁的消息描…