史上最牛,接口自动化测试-yaml框架配置文件总结(超级详细)

目录:导读

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


前言

yaml文件是一种配置文件类型,相比较ini,conf配置文件来说,更加的简洁,操作也更加简单,同时可以存放不同类型的数据。

yaml介绍及使用

1、yaml简介
YAML 语言( /ˈjæməl/ )的设计目标,就是方便人类读写。它实质上是一种通用的数据串行化格式。

YAML 是一种非常灵活的格式,几乎是 JSON 的超集。除了支持注释、换行符分隔、多行字符串、裸字符串和更灵活的类型系统之外,YAML 也支持引用文件,以避免重复代码。

2、yaml语法规则
基本语法规则:
大小写敏感;
使用缩进表示层级关系;
缩进时不允许使用Tab键,只允许使用空格;
缩进的空格数目不重要,只要相同层级的元素左侧对齐即可;
# 表示注释,从这个字符一直到行尾,都会被解析器忽略;

3、yaml数据结构
对象:键值对的集合,又称为映射(mapping)、哈希(hashes) 、字典(dictionary);
数组:一组按次序排列的值,又称为序列(sequence) 、列表(list);
纯量(scalars):单个的、不可再分的值;

对象
Map(属性和值)(键值对)的形式:
key:(空格)value :表示一对键值对,空格不可省略。

person:name:viviage:18

一行写法:

person:{name: vivi,age: 18}

相当于JSON格式:

{"name":"vivi","age":18}

数组:
一组连词线开头的行,构成一个数组。数组前加有 “-” 符号,符号与值之间需用空格分隔。

color:- red- blue- green

一行写法:

color: [red,blue,green]

相当于JSON:

["red","blue","green"]

纯量:
单个的、不可再分的值。(如:字符串、bool值、整数、浮点数、时间、日期、null等)

n1:8
n2:8.8
n3:true
n4:false
n5:'vivi'

yaml配置文件的使用

1、yaml配置文件准备
在项目下新建一个目录config,在目录下新建一个文件config.yaml。

A1

在config.yaml配置文件中写入数据库配置。

mysql:host: "127.0.0.1"port: 3306user: "vivi"password: "123456"db: "ITester"charset: "utf8"

2、yaml配置文件格式校验
刚了解yaml的同学,可能对yaml格式掌握不熟练,出现格式错误,这里推荐一个在线网站,用于校验我们写的yaml文件格式是否正确。

A2

在线地址:https://www.bejson.com/validators/yaml_editor/

yaml配置文件读写

python中读取yaml文件前需要安装pyyaml和导入yaml模块。

1、安装pyYaml
在python中读取yaml文件,需要用到第三方模块PyYaml。
安装命令:

pip install pyYaml

2、yaml模块源码解析
从yaml模块中提取出load、dump函数。

def load(stream, Loader=None):"""Parse the first YAML document in a streamand produce the corresponding Python object."""if Loader is None:load_warning('load')Loader = FullLoaderloader = Loader(stream)try:return loader.get_single_data()finally:loader.dispose()def dump(data, stream=None, Dumper=Dumper, **kwds):"""Serialize a Python object into a YAML stream.If stream is None, return the produced string instead."""return dump_all([data], stream, Dumper=Dumper, **kwds)

load:
将yaml流转化为python字典;

dump:
将python对象转化为yaml流;

3、读写yaml配置文件
将读写yaml配置文件的类进行封装。
在common目录下新建一个文件,config_handler.py用于读写yaml。

A2

config_handler.py

import yamlclass YamlHandler:def __init__(self,file):self.file = filedef read_yaml(self,encoding='utf-8'):"""读取yaml数据"""with open(self.file, encoding=encoding) as f:return yaml.load(f.read(), Loader=yaml.FullLoader)def write_yaml(self, data, encoding='utf-8'):"""向yaml文件写入数据"""with open(self.file, encoding=encoding, mode='w') as f:return yaml.dump(data, stream=f, allow_unicode=True)if __name__ == '__main__':data = {"user":{"username": "vivi","password": "123456"}}# 读取config.yaml配置文件数据read_data = YamlHandler('../config/config.yaml').read_yaml()# 将data数据写入config1.yaml配置文件write_data = YamlHandler('../config/config1.yaml').write_yaml(data)print(read_data)

运行结果为:

{'mysql': {'host': '127.0.0.1', 'port': 3306, 'user': 'vivi', 'password': '123456', 'db': 'ITester', 'charset': 'utf8'}}

写入到config1.yaml的数据。
config1.yaml

user:password:'123456'username:vivi
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

不要停下脚步,不要放弃梦想,即便前路荆棘丛生,也要坚定信念,一步步往前迈进。努力奋斗,才能看到人生的华丽变奏,才能收获属于自己的辉煌与成就。

胜利属于那些不屈服于困难的人,成功降临于那些永不止步的奋斗者。用汗水浇灌坚持,用勇气驱散恐惧,追逐梦想的路上,只要你不停歇,胜利的旗帜终将在你手中高高飘扬。

不要被失败所吓倒,坚持奋斗,收获将化作成功的甘甜。把目标定得更高,脚步放得更稳,用努力和汗水书写属于自己的辉煌篇章。

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

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

相关文章

TCPDF生成PDF文件,含jpjraph生成雷达图

TCPDF生成PDF文件,含jpjraph生成雷达图 依赖自行安装 "tecnickcom/tcpdf": "^6.6","amenadiel/jpgraph": "4"雷达图生成 中文字体添加安装 没有封装,只作为测试案例展示 // 创建新的PDF文档$pdf new \TCPD…

【代码】表格封装 + 高级查询 + 搜索 +分页器 (极简)

一、标题 查询条件按钮&#xff08;Header&#xff09; <!-- Header 标题搜索栏 --> <template><div><div class"header"><div class"h-left"><div class"title"><div class"desc-test">…

vscode 搭建STM32开发环境

1.需要软件 1.1 vscode 1.2 STM32CubeMX&#xff0c;这个不是必须的&#xff0c;我是为了方便生成STM32代码 2.vscode配置 2.1安装keil Assistant 2.2配置keil Assistant 3.STMCUBE生成个STM32代码 &#xff0c;如果有自己的代码可以忽略 4.代码添加到vscode&#xff0c;并…

简单程度与自负是否相关?探索STM32的学习价值

事实上&#xff0c;无论STM32是否简单并不重要&#xff0c;更重要的是我们能通过学习STM32获得什么。通过STM32&#xff0c;我们可以学习到许多知识&#xff1a;如果我们制作一个键盘或鼠标&#xff0c;我们可以学习USB协议。如果我们制作一个联网设备&#xff0c;我们需要学习…

完整版:TCP、UDP报文格式

目录 TCP报文格式 报文格式 报文示例 UDP报文格式 报文格式 报文示例 TCP报文格式 报文格式 图1 TCP首部格式 字段长度含义Source Port16比特源端口&#xff0c;标识哪个应用程序发送。Destination Port16比特目的端口&#xff0c;标识哪个应用程序接收。Sequence Numb…

Spring Boot读取yml或者properties配置信息

文章目录 Spring Boot读取yml或者properties配置信息方法一&#xff1a;Value获取基本信息&#xff0c;适用于少量信息方法二&#xff1a;通过注解ConfigurationProperties(prefix "spring.datasource")方法三&#xff1a;通过api Environment Spring Boot读取yml或…

第01天 什么是CSRF ?

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 每天一个知识点 ✨特色专栏&#xff1…

Spring 知识点

Spring 1.1 Spring 简介 1.1.1 Spring 概念 Spring是一个轻量级Java开发框架&#xff0c;最早有Rod Johnson创建为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题Spring最根本的使命是解决企业级应用开发的复杂性&#xff0c;即简化Java开发。使现有的技术更加容易使…

统信UOS下eclipse使用lombok报错的问题

lombok不兼容问题 lombok不支持高版本jdk&#xff0c;本人在应用商店下载eclipse安装的&#xff0c;默认用的jdk17&#xff0c;不兼容lombok插件&#xff0c;需要调整eclipse.ini配置文件&#xff0c;如下&#xff1a; #/opt/apps/org.eclipse.java-ee/files/eclipse.ini -ja…

静态网页加速器:优化性能和交付速度的 Node.js 最佳实践

如何使用 Node.js 发布静态网页 在本文中&#xff0c;我们将介绍如何使用 Node.js 来发布静态网页。我们将创建一个简单的 Node.js 服务器&#xff0c;将 HTML 文件作为响应发送给客户端。这是一个简单而灵活的方法&#xff0c;适用于本地开发和轻量级应用。 1、创建静态网页…

虚幻引擎游戏开发过程中,游戏鼠标如何双击判定?

UE虚幻引擎对于游戏开发者来说都不陌生&#xff0c;市面上有47%主机游戏使用虚幻引擎开发游戏。作为是一款游戏的核心动力&#xff0c;它的功能十分完善&#xff0c;囊括了场景制作、灯光渲染、动作镜头、粒子特效、材质蓝图等。本文介绍了虚幻引擎游戏开发过程中游戏鼠标双击判…

【STM32】小电流FOC驱控一体板(开源)

FOC驱控一体板http://链接: https://pan.baidu.com/s/12HoV9yDlMC5QVGNCJ5tK0w 提取码: 1111 主控芯片stm32f103c8t6 驱动芯片drv8313 三相电流采样 根据B站一个UP主的改的&#xff08;【【自制】年轻人的第一块FOC驱动器】&#xff09;&#xff0c;大多数元器件是0805&…

c语言--浮点数(float)与0值比较

我们定义一个float类型的数据a&#xff0c;赋值为123456789并输出&#xff1a; int main() {float a;a 123456789;printf("%f\n",a);return 0; }输出结果为&#xff1a; 由此可以看出&#xff0c;程序输出的结果并不是其被赋予的值。即说明了浮点数存在一定的误差。…

STM32入门——ADC模数转换

ADC简介 ADC&#xff08;Analog-Digital Converter&#xff09;模拟-数字转换器ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量&#xff0c;建立模拟电路到数字电路的桥梁12位逐次逼近型ADC&#xff0c;1us转换时间输入电压范围&#xff1a;0~3.3V&#xff0c;…

第三天课程上午

1.Vue生命周期和生命周期的四个阶段 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content&…

WebRTC | 音视频直播客户端框架

端到端通信互动技术可分解为以下几个技术难点&#xff1a;客户端技术、服务器技术、全球设备网络适配技术和通信互动质量监控与展示技术。 一、音视频直播 音视频直播可分成两条技术路线&#xff1a;一条是以音视频会议为代表的实时互动直播&#xff1b;另一条是以娱乐直播为代…

文章被限流了?上不了热榜?

文章目录 惨&#xff01;惨&#xff01;&#xff01;惨&#xff01;&#xff01;&#xff01;热榜&#x1f525;热榜&#x1f525;&#x1f525;热榜&#x1f525;&#x1f525;&#x1f525;粉丝破万INSCODE AI 创作 1INSCODE AI 创作 2INSCODE AI 创作 3联系客服 最近不知道C…

【Windows系统】磁盘、Partition和Volume的联系与区别

1、磁盘 Disk&#xff0c;磁盘。 以下摘自微软 磁盘设备和分区 - Win32 apps | Microsoft Learn 硬盘由一组堆积的盘片组成&#xff0c;其中每个盘片的数据都以电磁方式存储在同心圆或 轨道中。 每个盘片都有两个头&#xff0c;一个在盘片的两侧&#xff0c;在磁盘旋转时读取…

企业服务器数据库中了devos勒索病毒怎么办如何解决预防勒索病毒攻击

随着科学技术的不断发展&#xff0c;计算机可以帮助我们完成很多重要的工作&#xff0c;但是随之而来的网络威胁也不断提升。近期&#xff0c;我们收到很多企业的求助&#xff0c;企业的服务器数据库遭到了devos勒索病毒攻击&#xff0c;导致系统内部的许多重要数据被加密无法正…

【高频面试题】微服务篇

文章目录 Spring Cloud1.Spring Cloud 5大组件有哪些&#xff1f;2.服务注册和发现是什么意思&#xff1f;Spring Cloud 如何实现服务注册发现&#xff1f;3.负载均衡如何实现的 ?4.什么是服务雪崩&#xff0c;怎么解决这个问题&#xff1f;5.微服务是怎么监控的 业务相关6.项…