MOOC(6)- case之间存在依赖
方法1:这里只给出根据依赖字段去匹配响应结果中的值的函数,其他匹配依赖case,对依赖case发起请求见下面的方法2
方法2:
from day_20200208_mooc.tools.do_excel_openpyxl_14 import DoExcel from day_20200208_mooc.base.interface_request_class_5 import RunMain class DependData: def __init__(self, case_id, present_case_id, file, sheet): self.case_id = case_id self.present_case_id = present_case_id self.file = file self.sheet = sheet # 根据依赖case_id去获取依赖的case数据 def get_depend_case(self): depend_case = DoExcel().get_data(self.file, self.sheet)[self.case_id-1] return depend_case # 根据依赖的case数据,执行依赖测试 def run_depend_case(self): header = None url = self.get_depend_case()["url"] method = self.get_depend_case()["method"] data = self.get_depend_case()["data"] if self.get_depend_case()["header"]: header = self.get_depend_case()["header"] res = RunMain().run_main(url, method, data, header) return res # 获取当前用例数据,即需要依赖的用例 # present_case_id是当前的caseid,是需要用到依赖case的用例id # present_case_id-1是因为第n条用例在列表中的索引是n-1 def get_present_case(self): present_case = DoExcel.get_data(self.file, self.sheet)[self.present_case_id-1] return present_case # 提取当前case的依赖字段depend_key,去依赖case里匹配结果 # 匹配时需要知道目标值的位置 # 这里假设要匹配的值就是返回的json数据中第一个层级的某个键值, # 如果json数据有多层,根据实际情况修改 def get_depend_case_key(self): depend_key = self.get_present_case()["case_depend_data"] present_case_data = self.run_depend_case().json()[depend_key] return present_case_data # 根据依赖case字段的值对当前case发起请求 def run_present_case(self, present_case_id): header = None url = self.get_present_case()["url"] method = self.get_present_case()["method"] data = self.get_present_case()["depend_data_belong_new_key"] if self.get_depend_case()["header"]: header = self.get_depend_case()["header"] res = RunMain().run_main(url, method, data, header) return res
MOOC(6)- case之间存在依赖的更多相关文章
- 持续集成:TestNG中case之间的关系
持续集成:TestNG中case之间的关系 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq: ...
- Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->使用spring framework的IoC容器功能----->方法一:使用XML文件定义beans之间的依赖注入关系
XML-based configuration metadata(使用XML文件定义beans之间的依赖注入关系) 第一部分 编程思路概述 step1,在XML文件中定义各个bean之间的依赖关系. ...
- fleet中service之间的依赖关系
最近有人在topcoder上提出使用fleet在集群上部署service时有时候会发现,当启动依赖于整个集群服务的service时,只会检查那个service所在机器的依赖关系,这样就会造成一些问题, ...
- (转)USB的描述符及各种描述符之间的依赖关系
全文链接:http://justmei.blog.163.com/blog/static/11609985320102421659260/?latestBlog 1 推荐 [原创] USB入门系列之七 ...
- Prism 文档 第三章 管理组件之间的依赖关系
第3章:管理组件之间的依赖关系 基于Prism库的复合应用程 ...
- 手动创建Maven项目并建立两个项目之间的依赖关系
用命令行快速建立maven项目 -> mvn:archetype:generate -> 直接回车或者自己输入你想生成的 -> groupId ->artifactId -&g ...
- (二)maven依赖,两个项目之间如何依赖,继承实现
maven的jar之间存在依赖关系的,我们在引入一个时,其他有依赖关系的也会被引入 依赖排除: 比如现在有两个依赖关系,A(x,java,y.java,z.java) B(a,java,b,java ...
- Spring对加载的bean之间循环依赖的处理
根据下面文档的叙述,简言之: 对于相互之间通过构造函数注入相互循环依赖的情况,Spring会抛出BeanCurrentlyInCreationException错误. 如果AB两个beans是通过属性 ...
- NetCore 依赖注入之服务之间的依赖关系
简单介绍,直接官方文档 https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/dependency-injection?view=aspn ...
随机推荐
- Vue.js——6.创建组件
Vue组件组件就是为了拆分Vue实例的代码量,能够不同的功能定义不同的组件创建组件的方法 1. // 创建组件 let com1=Vue.extend({ template:'<h1>he ...
- 将QT窗口嵌入到WinForm窗口
要想 windows下抓取Qt进程主界面,并嵌入到自己的程序中显示,需要首先设置qt窗口的windowTitle属性,然后就可以通过 windows api 中的 FindWindow 函数查找到窗口 ...
- Python基础学习一
Python基础学习一 1.变量与常量 变量名:大小写英文.数字.下划线的组合,数字不能开头 常量名:习惯上常量用大写字母命名,例如"PI" 2.多行输出 转义符:反斜杠(),如果 ...
- share团队冲刺5
团队冲刺第五天 昨天:按钮操作,自定义按钮及各种原件样式 今天:设置按钮按下效果,界面布局 问题:无
- ssh登录脚本
#!/usr/bin/expect set timeout 100 set passwd "your password" spawn shell expect "key& ...
- java 利用管道实现线程间通信
package com.lb; import java.io.IOException;import java.io.PipedInputStream;import java.io.PipedOutpu ...
- Tensorflow学习教程------读取数据、建立网络、训练模型,小巧而完整的代码示例
紧接上篇Tensorflow学习教程------tfrecords数据格式生成与读取,本篇将数据读取.建立网络以及模型训练整理成一个小样例,完整代码如下. #coding:utf-8 import t ...
- 第一章 mysql 的架构与历史
一.mysql 的逻辑架构 1.连接管理与安全性 2.优化与执行 二.并发控制 1.读写锁 2.锁粒度 三.事物 1.隔离级别 2.死锁 3.事物日志 四.多版本并发控制 五.Mysql 的存储引擎
- 洛谷 P5018 对称二叉树
题目传送门 解题思路: 先计算每个点的子树有多少节点,然后判断每个子树是不是对称的,更新答案. AC代码: #include<iostream> #include<cstdio> ...
- linux复制指定文件
find /somedir -type f|xargs -I {} cp {} . find /somedir -name "*.txt"|xargs -I {} cp {} .