首页 > 编程语言 >python接口自动化系列(05):获取常用变量

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

时间:2024-03-03 20:55:56浏览次数:28  
标签:变量 05 python 接口 PATH yaml substitution var import

 

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

  

运行结果

可以看到,读取到了常用变量文件内容,但是每个用例都会读取一次,比较影响效率

 

优化任务

给大家留个任务,只读取一次常用变量数据文件。

 

【bak】

 

标签:变量,05,python,接口,PATH,yaml,substitution,var,import
From: https://www.cnblogs.com/uncleyong/p/18049759

相关文章

  • python接口自动化系列(02):yaml测试数据文件设计
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/18033074实现目标对测试数据进行设计,数据设计决定了后续读取数据的代码该如何实现。 关于被测试接口配套练习环境(含相关接口):https://www.cnblogs.com/uncleyong/p/17165143.html 常用数据用例数据频繁使用......
  • C++ 接口(抽象类) 虚函数
    接口描述了类的行为和功能,而不需要完成类的特定实现。C++接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念。如果类中至少有一个函数被声明为纯虚函数,则这个类就是抽象类。纯虚函数是通过在声明中使用"=0"来指定的clas......
  • python接口自动化系列(01):自动化测试框架设计
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/18033074先看下最终效果(gif) 报告总览 前言之前分享了java自动化(详见:https://www.cnblogs.com/uncleyong/p/15867903.html),部分小伙伴建议分享一个python版本,安排!!!当然,通过测试招聘要求大家也可以发现,目前......
  • python的安装与环境配置
    1、首先再python的官网上面找到自己系统的安装包并下载,下载成功后打开安装包。2、点击以后选择英文Customizeinstallation(这是自定义安装的路径)建议选择自定义安装,方便后续程序的管理,installNow是安装在C盘。并且选择下面的Addpython3.8topath(环境变量)3、保持默认选......
  • python中的多线程及锁介绍
    线程CPU执行调度的最小单位。不能独立存在,依赖进程存在。一个进程至少有一个线程,叫做主线程,另外还有内核线程、用户线程。线程之间共享内存。线程之间的通信效率远高于进程间通信效率,线程之间切换代价也比进程小很多。适用场景Python的多线程适用于IO密集型任务。多任务可以......
  • centos7 安装python3.8
    #cd/usr/local#yum-ygroupinstall"Developmenttools"#yum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devel#yuminstalllibffi-devel-ywgethttps:/......
  • python 与jupyter notebook 安装和环境配置
    一、pyhon环境安装下载Python:首先,从Python官方网站(https://www.python.org/downloads/)Download点击下载Python的安装程序运行安装程序:下载完成后,运行Python的安装程序。在安装过程中,确保勾选“AddPythontoPATH”选项,这样可以方便在命令行中使用Python自定义目录......
  • python邮件发送代码参考
    1.python邮件发送参考代码#!/usr/bin/python#-*-coding:UTF-8-*-importsmtplibfromemail.mime.imageimportMIMEImagefromemail.mime.textimportMIMETextfromemail.mime.multipartimportMIMEMultipartfromemail.headerimportHeader#第三方SMTP服务mail_host......
  • 3121005947
    这个作业属于哪个课程软件工程2024-双学位(广东工业大学)这个作业要求在哪里软件工程第一次作业这个作业的目标学习Markdown语言、撰写博客目录软件工程第一次作业1.评估自己1.1个人介绍1.2当前值1.3项目经历2.展望未来2.1阅读《构建之法》2.2未来的职......
  • python环境安装与配置 Jupyter Notebook的环境配置
    浏览器上搜索python官网进入官网,点击downloads(下载的意思)在里面自行选择在这里选择需要的版本,点击即可选择自定义安装,勾选添加环境变量下一步全选,第三步修改安装路径,怎么方便怎么来安装成功后,点击键盘Windows+R键进入运行输入cmd进入后输入python可以查看python版本,......