python接口自动化系列(05):获取常用变量

本系列汇总,请查看这里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()

运行结果

可以看到,读取到了常用变量文件内容

优化任务(建议要完成哦)

上图可以看到,每个用例都会读取一次常用变量数据文件,比较影响效率;

给大家留个任务,只读取一次常用变量数据文件,utils下创建common_var_tool.py实现。

(建议自己多花时间思考、练习,这样对你技能和学习能力提升才有帮助,而且,有些基础弱的小伙伴都跟着做出来了)

如果实在困难,也可以不完成,后面把我导入的内容去掉,继续用上面的读取数据实现方式即可;或者,你也可以学这个全程复制、粘贴就可以跑起来的自动化框架:https://www.cnblogs.com/uncleyong/p/15867903.html

【bak】

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值