12.接口自动化学习-Yaml学习

news2024/12/23 8:44:41

1.配置文件作用

配置文件项目角度:
(1)现成的应用–第三方组件
mysql–数据库–my.conf
tomcat–web服务器–server.xml 修改:连接数/端口
redis–缓存服务器–redis.conf 修改配置
jemeter–压测工具–jemeter.properties–修改heap堆操作等配置
(2)工作的项目中常用的配置文件
xxx.properties
xxx.ini–pytest框架
xxx.conf
xxx.xml
xxx.yaml/yml

2.yaml使用场景

(1)开发的项目的软件架构:springBoot
(2)微服务项目 springCloud架构
注册中心 nacos
gateway 网关
(3)k8s集群
(4)docker–compose需要镜像的xx.yaml
测试角度:
(1)如果没有运维,则测试人员可能需要负责简单的运维工作
(2)性能测试要懂,需要性能调优,修改对应的配置文件
(3)一些项目的数据–可能会是yaml
(4)自动化测试也需要

3.Yaml文件

3.1 简介

标记语言,专门用来写配置文件的语言,远比JSON格式方便

3.2 Python搭建Yaml环境

pip install PyYaml

3.3 语法格式

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用tab,只能用空格
  • 缩进多少空格无所谓,但是同一层级的要左对齐
  • # 表示注释一行

yaml值的类型

字符串、整型、浮点型、布尔型、null、时间、日期

# 1.字典
name: xing #姓名
age: 100
password:  "12345"

#2.字典套字典
info:
  name: ha

#3.yaml不使用引号和双引号的区别
info_1: hello\nworld #不加引号,不会转义\n\t等转义字符
info_2: "hello\nworld" #想要转义\n\t等,就加上双引号
info_3: "c:\test\\a.txt"#一个想转义,一个不想转义 c:	est\a.txt

# 4.变量的使用:如果一个数据后面被多次使用,一般定义一个变量去调用
# &--定义变量  *--使用变量
info_4: &pwd abcde123
data:
  info_4: *pwd
# 复杂写法
info_5: &userInfo #设置锚点
  username: zfg
  password: 12345

testCase1: # 测试用例1,需要使用公共数据info_5
  detail: #详情
  data1:
    <<: *userInfo #引用锚点,<<:  合并到当前数据
    tel: 1357688990

testCase2: # 测试用例2,需要使用公共数据info_5
  detail: #详情
  data1:
    <<: *userInfo #引用锚点
    tel: 1357688990
  data2:
    test2: hello

在这里插入图片描述

分段

在同一个yaml文件中,可以用---来分段,将多个文档写在一个文件中
使用load_all()方法,将文档数据读出来

# 1.字典
name: xing #姓名
age: 100
password:  "12345"
---
#2.字典套字典
info:
  name: ha

#3.yaml不使用引号和双引号的区别
info_1: hello\nworld #不加引号,不会转义\n\t等转义字符
info_2: "hello\nworld" #想要转义\n\t等,就加上双引号
info_3: "c:\test\\a.txt"#一个想转义,一个不想转义 c:	est\a.txt
---
# 4.变量的使用:如果一个数据后面被多次使用,一般定义一个变量去调用
# &--定义变量  *--使用变量
info_4: &pwd abcde123
data:
  info_4: *pwd
# 复杂写法
info_5: &userInfo #设置锚点
  username: zfg
  password: 12345

testCase1: # 测试用例1,需要使用公共数据info_5
  detail: #详情
  data1:
    <<: *userInfo #引用锚点,<<:  合并到当前数据
    tel: 1357688990

testCase2: # 测试用例2,需要使用公共数据info_5
  detail: #详情
  data1:
    <<: *userInfo #引用锚点
    tel: 1357688990
  data2:
    test2: hello

#安装环境yaml库 pip install pyYaml
import yaml
def get_yamls_data(fileDir):#获取多端的yaml文件
    with open(fileDir,encoding='utf-8') as fo:
        #使用yaml库读取yaml文件,将字符串转为字典格式
        return yaml.safe_load_all(fo.read())

if __name__ == '__main__':
    res=get_yamls_data('../data/data.yaml')
    for one in res:
        print(one)

在这里插入图片描述

写Yaml文件

  • 单个文件
#安装环境yaml库 pip install pyYaml
import yaml
def set_yaml_data(fileDir,inData):
    """
    :param fileDir: 写的yaml文件路径
    :param inData: 写的数据
    """
    with open(fileDir,'w',encoding='utf-8') as fo:
        yaml.safe_dump(inData,fo)
if __name__ == '__main__':
    file=set_yaml_data('../data/liu.yaml',{'name':'liu'})

在这里插入图片描述

  • 多段文件
#安装环境yaml库 pip install pyYaml
import yaml
def set_yamls_data(fileDir,inData):
    """
    :param fileDir: 写的yaml文件路径
    :param inData: 写的数据
    :return:
    """
    with open(fileDir,'w',encoding='utf-8') as fo:
        yaml.safe_dump_all(inData,fo)
if __name__ == '__main__':
    testData=[[10,20],{'name':'ss'}]
    file2=set_yamls_data('../data/test.yaml',testData)

在这里插入图片描述

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

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

相关文章

linux支持vGPU方案

1&#xff0c;查询gpu型号&#xff1a;lspci | grep "NVIDIA\|VGA" PCI Devices 2&#xff0c;下载驱动 官方驱动 | NVIDIA 3&#xff0c;安装 sudo sh NVIDIA-Linux-x86_64-440.118.02.run -no-x-check -no-nouveau-check -no-opengl-files参数说明&#xff1a; …

网盘——进入文件夹

本文主要讲解网盘的文件操作中进入文件夹的部分&#xff0c;具体实现步骤如下&#xff1a; 1、具体步骤如下&#xff1a; A、客户端发送进入文件夹的请求&#xff08;该请求包含目录信息以及要进入的文件夹名字&#xff09; B、服务器收到该请求之后&#xff0c;服务器首先判…

基于springboot的考勤管理系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…

C#基础之数组

数组 文章目录 数组1、概念2、数组的声明3、数组的使用思考1 找出随机数中的最大值&#xff0c;最小值思考2 数组值前后交换思考3 输入成绩&#xff0c;比较出最大、最小值思考4 生成一个5X5的花格子 二维数组交错数组 1、概念 数组是存储一组相同类型数据的集合 数组分为一维…

【嵌入式AI开发】轻量级卷积神经网络MobileNetV1网络详解

传统卷积神经网络,内存需求大、运算量大导致无法在移动设备以及嵌入式设备上运行。模型研究得初衷就是服务于社会,应用到实际生活中,让深度学习技术服务于生活。 万物互联时代,智能终端部署模型到本地,不需连接因特网/云服务器,在边缘终端进行边缘计算。保障数据隐私,不…

【数据结构】三、栈和队列:2.顺序栈共享栈(顺序栈的初始化,判空,进栈,出栈,读取栈顶,顺序栈实例)

文章目录 1.顺序栈1.1初始化1.2判空1.3进栈1.4出栈1.5读取栈顶1.6销毁栈❗1.7顺序栈c实例 2.共享栈2.1初始化2.2判满 1.顺序栈 用顺序存储实现的栈 顺序栈的缺点&#xff1a;栈的大小不可变。 #define MaxSize 10 //定义栈中元素的最大个数 typedef struct{ElemType data[…

IDEA 中如何通过连接数据库自动生成代码

目录 1、IDEA 中安装 MyBatisX 插件 2、点击 IDEA 右侧的 database 数据库按钮&#xff0c;点击新建数据源 Data Source 3、编辑数据库连接信息 4、选择你要生成代码的数据库表 5、编辑你代码生成的基本路径以及一些配置项 6、选择annotation&#xff1a;mybatis-plus3&a…

美国洛杉矶站群服务器如何提高网站排名?

美国洛杉矶站群服务器怎么样?美国洛杉矶站群服务器如何提高网站排名?Rak部落小编为您整理发布美国洛杉矶站群服务器如何提高网站排名? 美国洛杉矶站群服务器可以通过以下几种方式帮助提高网站排名&#xff1a; - **提升网站性能**&#xff1a;美国站群服务器通常配备高速CPU…

eclipse导入工程提示Project has no explicit encoding set

eclipse导入工程提示Project has no explicit encoding set 文章目录 eclipse导入工程提示Project has no explicit encoding set一、Eclipse的工程导入二、可能的问题1.在工程名下有黄色叹号 一、Eclipse的工程导入 用Eclipse的导入可以将原有工程导入到新环境中 具体方法是&…

phpstorm 设置变量,自动补全代码

效果 进入设置->实时模板->PHP->添加 添加动态模板->完善写法 定义->选择PHP->应用就行

OpenStack云计算(十四)——综合演练手动部署OpenStack,

本项目的项目实训可以完全参考教材配套讲解的详细步骤实施&#xff0c;总体来说实训工作量较大&#xff0c;可根据需要选做&#xff0c;重点观看配套的微课视频。 项目实训一 【实训题目】 搭建OpenStack云平台基础环境 【实训目的】 掌握OpenStack基础环境的安装和配置方…

mysql8.0免安装版windows

1.下载 MySQL下载链接 2.解压与新建my.ini文件 解压的路径最好不要有中文路径在\mysql-8.0.36-winx64文件夹下新建my.ini文件&#xff0c;不建data文件夹(会自动生成) [mysqld] # 设置3306端口 port3306 # 设置mysql的安装目录(尽量用双斜杠\\,单斜杠\可能会报错) basedirD:\…

如何在vue3+vite中优雅的使用iconify图标

前言 从Vue2迁移到Vue3&#xff0c;在使用上有着很大的差别。本文的话主要是针对图标的使用差别上进行分析&#xff0c;同时给出基于iconify图标库中unplugin-icons的用法。这里特殊说明一下&#xff1a;其实element-plus中用到的图标也是基于iconify图标库的&#xff0c;在我们…

mysql中join内外连接查询例子

文章目录 join关键字概要举例using 与 on 区别 join关键字 在MySQL中&#xff0c;JOIN 是一种用于将两个或多个表中的行联合起来的操作。 连接&#xff08;join&#xff09;就是将一张表中的行按照某个条件&#xff08;连接条件&#xff09;与另一张表中的行连接起来形成一个新…

好久没关注uCOS系统的消息了,全家桶免费后,竟一直以全新的名字Flexible Safety RTOS登场,且一直在更新

【视频版】 https://www.bilibili.com/video/BV1Kb421Y7v9 好久没关注uCOS系统的消息了&#xff0c;全家桶免费后&#xff0c;竟一直以全新的名字Flexible Safety RTOS登场&#xff0c;且一直在更新 【前言】 2020年初&#xff0c;uCOS全家桶宣布免费后&#xff0c;其Github上…

paddle ocr模型量化实践

参考&#xff1a;https://github.com/PaddlePaddle/PaddleOCR/blob/main/deploy/slim/quantization/README.md https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7.1/doc/doc_ch/FAQ.md 蒸馏 剪枝 量化 参考&#xff1a;https://blog.csdn.net/mddCSDN/article/de…

医院手术室麻醉信息管理系统源码 自动生成麻醉的各种医疗文书(手术风险评估表、手术安全核查表)

目录 手术风险评估表 一、患者基本信息 二、既往病史 三、手术相关信息 四、风险评估因素 五、风险评估结果 手术安全核查表 一、患者身份与手术信息核对 二、术前准备核查 三、手术团队与职责确认 四、手术物品与设备核查 五、术中关键步骤核查 六、术后核查 七…

星融元加入超以太网联盟(UEC),推动智算网络创新实践

近日&#xff0c;星融元正式加入超以太网联盟(Ultra Ethernet Consortium,UEC)&#xff0c;该联盟是在 Linux 基金会的牵头下由多家全球头部科技企业联合成立&#xff0c;目标是突破传统以太网性能瓶颈&#xff0c;使其适用于人工智能&#xff08;AI&#xff09;和高性能计算&a…

Linux下基本指令-掌握

目录 为什么要学命令行 Linux下基本指令-掌握 ls 指令 pwd命令 cd 指令 touch指令 mkdir指令&#xff08;重要&#xff09;&#xff1a; rmdir指令 && rm 指令&#xff08;重要&#xff09;&#xff1a; man指令&#xff08;重要&#xff09;&#xff1a; cp指…

ARCGIS PRO3 三维模型OSGB转SLPK场景数据集

1.前言 因项目工作&#xff0c;需要将三维模型发布到arcgisserver上&#xff0c;但arcgisserver只支持slpk格式的模型&#xff0c;于是我开启了漫长的三维模型格式转换之旅&#xff0c;在这里记录下本人踩过的坑。 2.三维模型数据情况 2.1 模型大小&#xff1a;在20GB以上&a…