当前位置: 首页 > news >正文

pytest + yaml 框架 -69.新增depend 关键字,导入其它yaml用例

前言

有小伙伴提到,test_a.yml 中已经写了几个流程,test_b.yml 中希望能接着test_a.yml去写用例,于是就需要先导入test_a.yml用例。
为了满足此需求,v1.6.3版本 在config 中新增 depend 关键字。

需求场景

test_a.yml 中已经写了一些用例

config:variables:x: helloy: worldtest_x1:name: xxrequest:method: posturl: http://httpbin.org/postjson:title: aamessage: bbbtest_x2:name: xxprint: ${x} -- ${y}

test_b.yml 中可以在config 中添加depend 关键字, test_a.yml和test_a.yml 在同一个目录

config:depend: test_a.ymltest_b3:name: xxprint: 输出结果--${y}

那么test_b.yml 就等价于把test_a.yml内容复制过来了

config:variables:x: helloy: worldtest_x1:name: xxrequest:method: posturl: http://httpbin.org/postjson:title: aamessage: bbbtest_x2:name: xxprint: ${x} -- ${y}test_b3:name: xxprint: 输出结果--${y}

所以会重复执行一次test_a.yml用例,再执行test_b.yml 中的用例。

depend 关键字使用

depend 关键字使用规则:

  • 1.只能在 config 中使用,因为它是接着前面一个 yml 用例继续写其他用例。
  • 2.目前只支持一个层级的引用如:b 引入a, 不支持多层级引入,如:c引入b, b又引入了a
  • 3.depend 后面写用例文件的路径,如果在同一目录,可以直接写文件名称,不在同一个目录,需从项目根目录开始,写相对路径。

当 test_a.yml 用例中有在config 定义变量 variables

config:variables:x: helloy: worldtest_x1:name: xxrequest:method: posturl: http://httpbin.org/postjson:title: aamessage: bbbtest_x2:name: xxprint: ${x} -- ${y}

test_b.yml 中没有定义config变量时,会默认读取test_a.yml 用例中定义的变量。

config:depend: test_a.ymltest_b3:name: xxprint: 输出结果--${y}

test_b.yml 中也可以定义config 变量,替换test_a.yml中的变量

config:depend: test_a.ymlvariables:y: aabcctest_b3:name: xxprint: 输出结果--${y}

此时 test_b3 用例引用变量${y} 得到的结果就是 aabbcc

当用例中有局部变量时,用例中定义的变量优先级是最高的

config:depend: test_a.ymlvariables:y: aabcctest_b3:name: xxvariables:y: aa1122print: 输出结果--${y}

此时 test_b3 用例引用变量${y} 得到的结果就是 aa1122

http://www.lryc.cn/news/349449.html

相关文章:

  • 【网络】tcp的初始化序列号为什么要随机生成
  • 【SRC实战】利用APP前端加密构造数据包
  • ThreadLocal描述
  • Linux-基础命令第三天
  • Windows Server 2022 环境下WEB和DNS服务器配置方法
  • 静态住宅代理 IP 的影响
  • IP代理中的SOCKS5代理是什么?安全吗?
  • 一个用Kotlin编写简易的串行任务调度器
  • JavaScript异步编程——11-异常处理方案【万字长文,感谢支持】
  • python如何做一个服务器fastapi 和flask
  • Element-ui el-table组件单选/多选/跨页勾选讲解
  • CentOS 安装 SeaweedFS
  • Redis如何避免数据丢失?——AOF
  • xFormers
  • LQ杯当时的WP
  • 数据结构与算法学习笔记三---栈和队列
  • web入门——导航栏
  • 基于梯度流的扩散映射卡尔曼滤波算法的信号预处理matlab仿真
  • Flutter 中的 ListTile 小部件:全面指南
  • Kubernetes——CNI网络组件
  • 对关系型数据库管理系统的介绍
  • Nodejs 第七十一章(libuv)
  • mysql实战题目练习
  • Linux 案例命令使用操作总结
  • 图的拓扑序列(DFS2)
  • 2024年小学生古诗文大会备考:吃透历年真题和知识点(持续)
  • SystemC学习使用记录
  • Github20K星开源团队协作工具:Zulip
  • C语言基础-标准库函数
  • 「51媒体」家居生活发布会,展览展会有哪些媒体邀约资源