| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> python 接口自动化之用例变量参数化(参数化处理器) -> 正文阅读 |
|
[系统运维]python 接口自动化之用例变量参数化(参数化处理器) |
场景:有环境变量需要替换到用例数据中去,解决的问题:多条接口用例的通用配置和token之类的参数要写在每条测试用例中,替换不方便。场景一:字符串中只有一个变量需要替换原始数据:(数据来源:execl中读取,或者数据库中读取出来的,都可以) params= '{"_ver":"3.18.1","_ct":"101","token":${token}' 在进行接口请求前,需要把数据中的变量${token} ,替换成环境变量,${} 只是一个特殊的标识符,目的的方便使用正则表达式匹配,换成你自己喜欢的都可以 在此处使用python的re模块的re.search和re.sub ,不清楚的可以在菜鸟站上搜到教程 下面是实现的代码 思路: ? ? ? ? 1、写出正则匹配式 ? ? ? ? 2、取出字符串中匹配成功的变量 ? ? ? ? 3、取出匹配到的值,也就是需要替换掉的变量 ? ? ? ? 4、从环境变量中获取要变量值 ? ? ? ? 5、使用re.sub进行替换。 sub的四个属性代表的意思:正则匹配式,要替换变量的字符串或者函数,要被查找替换的原始字符串,该模式匹配成功后的最大替换次数(默认为替换所有匹配到的)
运行的结果: ?场景二:一个字符串中有多个变量需要替换原始数据: params= '{"_ver":"3.18.1","_ct":"101","token":${token},"order_id":${order_id}}' 思路: ? ? ? ? 1、写出正则匹配式 ? ? ? ? 2、取出字符串中匹配成功的多个变量 ? ? ? ? 3、循环多个变量取出匹配到的值,也就是需要替换掉的变量 ? ? ? ? 4、从环境变量中获取要变量值 ? ? ? ? 5、使用re.sub进行替换。 实现代码:
运行结果: ? getattr是用来获取对象中的属性或者方法的,在属性名或者方法名不确定是变量时使用。在上面的例子中getattr(Config, key) 等价于?Config.token或者Config.order_id token和order_id是key 在运行中对应的值 不能直接使用Config.key,因为这种情况下key就是属性名或者方法名,不能替换成key对应的变量 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 1:39:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |