Yaml:通过extrac进行传参,关联---接口关联封装(基于一个独立YAML的文件)
一:在common包中,封装一个yaml_util的工具包
1. 将获取到的数据,写入到extrac.yaml文件中,通过data
def write_extract_yaml(data):
2. 需要用到该参数时,读取extrac.yaml文件中,由于会有多个参数,所以通过字典的key值方式进行读取对应的值
def read_extract_yaml(key):
3. 每次都是新生成的参数,因此需要及时清空该文件,清空extract_yaml文件
def clear_extract_yaml():
import yaml
import os# 获取项目的根目录
# 1.os.path.dirname(__file__):获取当前文件的目录
# 2..split('common')[0]:切割路径后,得到根目录path
def get_obj_path():return os.path.dirname(__file__).split('common')[0]# 写入extract_yaml文件:追加
def write_extract_yaml(data):# 以追加的方式,打开根目录下的对应文件# dump 是写入,有这些参数:data, stream=None, Dumper=Dumper, **kwds# 通过data,传入之后,写入:extract_yaml文件with open(os.getcwd().split('common')[0]+"/extract.yaml",encoding="utf-8",mode="a+") as f:yaml.dump(data, stream=f,allow_unicode=True)# 读取extract_yaml文件,读取的时候不需要写数据传参
# 用load方式读取文件流
def read_extract_yaml(key):with open(os.getcwd().split('common')[0]+"/extract.yaml",encoding="utf-8",mode="r") as f:value = yaml.load(f,yaml.FullLoader)return value[key]# 清空extract_yaml文件
def clear_extract_yaml():with open(os.getcwd().split('common')[0]+"/extract.yaml",encoding="utf-8",mode="w") as f:f.truncate()if __name__ == '__main__':write_extract_yaml({"name":"Lucy"})
二:在接口中,存入和读取对应的参数值
1. 写入参数和值,将提取到的token,存到extract的yaml文件,以Authorization:value的方式存储
write_extract_yaml({"Authorization":res.json()['data']['token']})
2. 在对应的接口中,调用token值
"Authorization": read_extract_yaml("Authorization")
3. 一般在每次执行用例前,将旧有参数先清空,可以结合conftest中的fixture完成
@pytest.fixture(scope="session",autouse=True,name="db")def red_excel():print("这是前置的方法,可以实现部分以及全部用例的前后置")clear_extract_yaml()yield "success"print("这是后置的方法,可以实现部分以及全部用例的前后置")
PS:这种传参和关联方法并不是最优解,建议用:极限封装成零代码的方式实现接口关联
相关文章:
Yaml:通过extrac进行传参,关联---接口关联封装(基于一个独立YAML的文件)
一:在common包中,封装一个yaml_util的工具包 1. 将获取到的数据,写入到extrac.yaml文件中,通过data def write_extract_yaml(data): 2. 需要用到该参数时,读取extrac.yaml文件中,由于会有多个参数&#x…...
vue - vue中对Vant日历组件(calendar)的二次封装
vue中对vant日历选择器组件实现的的二次封装;主要实现功能如下: 主要功能: 日期区间选择(基本);自定义选择器的底部按钮,添加清除时间操作(slot插槽);指定默认选中的日期…...
详解C++的类型转换
文章目录前言一、C语言中的类型转换二、为什么C需要四种转换三、C强制类型转换3.1 static_cast3.2 reinterpret_cast3.3 const_cast3.4 dynamic_cast四、RTTI总结前言 在C语言的类型转换有一个非常大的坑,有好多悄悄地转换,有时候把我们转换的就蒙了,因为C要兼容C语言,所以C就…...
NLP文本自动生成介绍及Char-RNN中文文本自动生成训练demo
前言 文本自动生成是自然语言处理领域的一个重要研究方向,实现文本自动生成也是人工智能走向成熟的一个重要标志。文本自动生成技术极具应用前景。 例如,文本自动生成技术可以应用于智能问答与对话、机器翻译等系统,实现更加智能和自然的人机…...
Teradata 离场,企业数据分析平台如何应对变革?
近日大数据分析和数仓软件巨头 Teradata(TD)宣布基于中国商业环境的评估,退出在中国的直接运营。TD 是全球最大的专注于大数据分析、数仓和整合营销管理解决方案的供应商之一,其早在 1997 年就进入中国,巅峰期占据半数…...
QWebEngineView-官翻
文章目录特性公共成员函数重实现公共成员函数公有槽函数信号静态公有成员函数保护成员函数重实现保护成员函数额外继承成员详细描述特性文档编制成员函数文档QWebEngineView::**QWebEngineView**([QWidget](../../W/QWidget.md) **parent* Q_NULLPTR)[virtual] QWebEngineView…...
网络安全高级攻击
对分类器的高层次攻击可以分为以下三种类型:对抗性输入:这是专门设计的输入,旨在确保被误分类,以躲避检测。对抗性输入包含专门用来躲避防病毒程序的恶意文档和试图逃避垃圾邮件过滤器的电子邮件。数据中毒攻击:这涉及…...
优思学院:六西格玛中的水平对比方法是什么?
水平对比,就是比较不同事物之间的差异。 这个概念在六西格玛管理中也很重要,也就是我们经常说的标杆管理,经常被用来寻找行业中最好的做法,以帮助组织改进自身的绩效。 在六西格玛管理中,水平对比有三种常见的应用方式…...
UVa 690 Pipeline Scheduling 流水线调度 二进制表示状态 DFS 剪枝
题目链接:Pipeline Scheduling 题目描述: 给定一张5n(1≤n≤20)5\times n(1\le n\le20)5n(1≤n≤20)的资源需求表,第iii行第jjj列的值为’X’表示进程在jjj时刻需要使用使用资源iii,如果为’.则表示不需要使用。你的任务是安排十个…...
【ArcGIS Pro二次开发】(6):工程(Project)的基本操作
在ArcGIS Pro中我们对工程的基本操作一般包括打开、新建、保存等。下面演示在二次开发中如何用代码进行以上操作。 新建一个项目,命名为【ProjectManager】,添加8个按钮,命名为【CreateEmptyProject、CreateProjectByDefault、OpenExProjest…...
Qt OpenGL(四十)——Qt OpenGL 核心模式-雷达扫描效果
提示:本系列文章的索引目录在下面文章的链接里(点击下面可以跳转查看): Qt OpenGL 核心模式版本文章目录 Qt OpenGL(四十)——Qt OpenGL 核心模式-雷达扫描效果 一、场景 上一篇文章介绍了在雷达坐标系中绘制飞行的飞机,其实雷达坐标系应该还有一个效果,就是扫描的效…...
群智能优化算法求解标准测试函数F1~F23之种群动态分布图(视频)
群智能优化算法求解标准测试函数F1的种群动态分布图群智能优化算法求解标准测试函数F2的种群动态分布图群智能优化算法求解标准测试函数F3的种群动态分布图群智能优化算法求解标准测试函数F4的种群动态分布图群智能优化算法求解标准测试函数F5的种群动态分布图群智能优化算法求…...
vue-axios封装与使用
一、简介 Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 这是一个使用率很高的前端网络请求库,几乎所有的前端项目都会使用,本文主要介绍的是如何在vue项目中使用axios,并对其进行全面的封装。 注意&#x…...
重要节点排序方法
文章目录研究背景提前约定基于节点近邻的排序方法度中心性(degree centrality, DC)半局部中心性(semilocal centrality, SLC)k-壳分解法基于路径排序的方法离心中心性 (Eccentricity, ECC)接近中心性 (closeness centrality, CC)K…...
【2.20】动态规划 +项目 + 存储引擎
01背包问题 现有一容量为w的背包,有3个物品,每个物品重量不同,价值不同,问,怎样装才能价值最大化? 明确dp数组含义和下标含义:dp[j]表示当前背包的最大价值。j表示背包容量。递推公式…...
触摸屏单个按键远程控制led
一、硬件 arduino2块 淘晶驰串口屏7寸增强型带外壳1块,不支持视频音频 nRF24L0模块2块 扩展板2块 跳线若干 面包板1块 led灯1个 电阻二极管若干 下载线两个 usb转串口1个 二、实验内容 一个arduino作为触摸屏的控制器,接收触摸屏双向开关的信号,同时通过nRF24L01发送“open”…...
JVM12 class文件
1. Class 文件结构 1.1. Class 字节码文件结构 类型名称说明长度数量魔数u4magic魔数,识别Class文件格式4个字节1版本号u2minor_version副版本号(小版本)2个字节1u2major_version主版本号(大版本)2个字节1常量池集合u2constant_pool_count常量池计数器2个字节1cp_infoconstan…...
等保三级认证基本要求
一、什么是等保测评? 企业单位委托经公安部认证的具有资质的测评机构,按照管理规范和技术标准,对相应的测评对象(信息系统)的状况进行测评。 1、安全技术测评:包括物理安全、网络安全、主机系统安全、应用安…...
Python 基本数据类型(一)
1. 整型 整型即整数,用 int 表示,在 Python3 中整型没有长度限制。 1.1 内置函数 1. int(num, baseNone) int( ) 函数用于将字符串转换为整型,默认转换为十进制。 >>> int(123) 123 >>> int(123, …...
win10 环境变量及其作用大全
------------------------------------------------------系统变量------------------------------------------------------ ComSpec: C:\WINDOWS\system32\cmd.exe command specification 解释: ComSpec是Windows操作系统中的一个环境变量,它表示Windo…...
猫抓资源嗅探扩展:网页媒体资源提取的完整解决方案
猫抓资源嗅探扩展:网页媒体资源提取的完整解决方案 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 在现代互联网浏览体验中,…...
StructBERT模型监控方案:性能与质量实时追踪
StructBERT模型监控方案:性能与质量实时追踪 1. 引言 当你把StructBERT模型部署到生产环境后,最担心的是什么?是服务突然崩溃,还是响应速度变慢,或者是模型预测质量下降?这些问题如果等到用户投诉才发现&…...
3秒极速解锁:高效智能的百度网盘提取码获取工具实战指南
3秒极速解锁:高效智能的百度网盘提取码获取工具实战指南 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 在数字资源分享日益频繁的今天,百度网盘提取码智能获取工具baidupankey通过创新的技术架构和优化…...
Linux文件名修改方法大全
在Linux系统中,文件名修改是一个常见且重要的操作。文件名修改可以更好地管理文件和文件夹,使其更具可读性和有序性。通过更改文件名,可以清晰地表达文件的内容和用途,便于快速识别和定位文件。此外,对文件名进行调整还…...
RexUniNLU GPU推理优化教程:batch_size与max_length调优实测
RexUniNLU GPU推理优化教程:batch_size与max_length调优实测 1. 引言 如果你正在使用RexUniNLU处理大量文本数据,可能会遇到这样的问题:单条推理速度还行,但批量处理时总觉得不够快,GPU利用率也上不去。或者…...
Kandinsky-5.0-I2V-Lite-5s社区实践:在CSDN分享你的创意作品与调参心得
Kandinsky-5.0-I2V-Lite-5s社区实践:在CSDN分享你的创意作品与调参心得 1. 为什么要在CSDN分享你的AI创作 最近在星图GPU平台体验了Kandinsky-5.0-I2V-Lite-5s这个强大的图生视频模型,发现它能让静态图片"活"起来,生成各种有趣的…...
【ProtoBuf 实战训练】网络版通讯录
文章目录1. 通讯录 4.0 实现(网络版)2. 环境搭建2.1 搭建服务端2.2 搭建客户端2.3 运行结果3. 新增联系人功能3.1 协议约定3.2 协议接口定义 (.proto)3.2.1 AddContactRequest(请求消息)3.2.2 AddContactResponse(响应…...
OpenClaw学术助手:千问3.5-27B自动校对论文格式与参考文献
OpenClaw学术助手:千问3.5-27B自动校对论文格式与参考文献 1. 为什么需要自动化论文校对工具 作为科研工作者,我经历过无数次论文投稿前的格式调整噩梦。记得去年投稿某核心期刊时,光是调整参考文献格式就花了整整两天——期刊要求APA第六版…...
AIGlasses OS Pro保姆级教程:从环境配置到四大模式实战体验
AIGlasses OS Pro保姆级教程:从环境配置到四大模式实战体验 1. 系统概述与核心价值 AIGlasses OS Pro是一款专为智能眼镜设计的本地化视觉辅助系统,它巧妙融合了YOLO11目标检测与MediaPipe骨骼识别两大引擎。与市面上依赖云服务的方案不同,…...
手把手教你用HFP协议开发智能手表通话功能(附AT指令集)
智能手表通话功能开发实战:HFP协议深度解析与AT指令应用 清晨六点,你的智能手表在手腕上微微震动——不是闹钟,而是一通来自海外客户的紧急电话。你轻触屏幕接听,通过手表内置麦克风清晰沟通,全程无需寻找手机。这种无…...
