本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/18033074
实现目标
获取常用变量,方便后面解析初始化sql或者请求参数的时候将常用变量占位符替换为实际值。
添加常用变量数据文件
data目录下创建variable.yaml
内容:
--- '#{username}': tester '#{password_correct}': 123456 '#{password_wrong}': 1234567 '#{productname}': thinkpad
修改项目配置
conf下settings.py中新增常用变量数据文件路径
# 定义常用变量数据文件路径 VAR_DATA_PATH = os.path.join(BASE_PATH,'data/variable.yaml')
添加工具模块
utils目录下添加substitution_tool.py
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Author: 韧 # @wx: ren168632201 # @Blog: https://www.cnblogs.com/uncleyong/ from utils.yaml_tool import read_data_from_yaml from conf.settings import VAR_DATA_PATH import logging logger = logging.getLogger(__name__) def var_substitution(): '''先获取常用变量,为后续替换为实际值提供数据''' var_dic = read_data_from_yaml(VAR_DATA_PATH) logger.info("常用变量:{}".format(var_dic))
修改测试类
调用substitution_tool.py中var_substitution方法
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Author: 韧 # @wx: ren168632201 # @Blog: https://www.cnblogs.com/uncleyong/ import pytest import logging logger = logging.getLogger(__name__) from conf.settings import CASE_DATA_PATH from utils.yaml_tool import read_data_from_yaml from utils.substitution_tool import var_substitution class TestCase: @pytest.mark.parametrize("casedata", read_data_from_yaml(CASE_DATA_PATH)) def test_case(self, casedata): # logger.info(f"---当前测试用例数据是:{casedata}") var_substitution()
运行结果
可以看到,读取到了常用变量文件内容,但是每个用例都会读取一次,比较影响效率
优化任务
给大家留个任务,只读取一次常用变量数据文件。
标签:变量,05,python,接口,PATH,yaml,substitution,var,import From: https://www.cnblogs.com/uncleyong/p/18049759