Yaml:通过extrac进行传参,关联---接口关联封装(基于一个独立YAML的文件)
创始人
2024-05-26 09:24:17

一:在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:这种传参和关联方法并不是最优解,建议用:极限封装成零代码的方式实现接口关联 

相关内容

热门资讯

demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...