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 ...
随机推荐
- CentOS7下MySQL8的二进制基本安装配置
前言 基于本地Centos7.6虚拟机Mysql8的配置(亲测有效) 一.安装前的准备 1.到官网下载mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz 2.通过Xs ...
- h5-拖拽接口
1.原效果网页 拖拽后: 2.主要实现代码 <div class="div1" id="div1"> <!--在h5中,如果想拖拽元素,久必须 ...
- 吴裕雄--天生自然 JAVA开发学习:方法
/** 返回两个整型变量数据的较大值 */ public static int max(int num1, int num2) { int result; if (num1 > num2) re ...
- python使用rsa非对称加密
1.安装rsa 支持python 2.7 或者 python 3.5 以上版本 使用豆瓣pypi源来安装rsa pip install -i https://pypi.douban.com/simpl ...
- 通过编写c语言程序,运行时实现打印另一个程序的源代码和行号
2017年6月1日程序编写说明: 1.实现行号的打印,实现代码的读取和输出,理解主函数中的参数含义. 2.对fgets函数理解不够 3.对return(1); return 0的含义理解不够 4.未实 ...
- UML-类图-关键字如何使用?
部分预定义UML关键字: 例如: 加上关键字,明确,清晰.
- 关于RL78 系列的bootloader
1.充分了解芯片FLASH结构分布,对FLASH进行分区 2.熟练使用FSL库 3.调试中断映射功能 4.调试一种通信方式,UART,CAN等 5.对FLASH进行编程,执行跳转APP程序,调试一个多 ...
- 2.windows-oracle实战第二课 -用户管理
创建用户:在oracle中创建一个用户有create user语句,一般是具有dba(数据库管理员)的权限才能使用.用户创建在所在的实例数据库中. 给用户修改密码:passw 给别人修改密码需要dba ...
- 自定义EL函数(转)
有看到一个有趣的应用了,转下来,呵呵!! 1.定义类MyFunction(注意:方法必须为 public static) package com.tgb.jstl; /** * ...
- 17)PHP,函数基础和参数问题
(1)函数定义形式: function 函数名字(形参1,形参2,形参3........) { 函数体(代码块) } (2)调用形式: 第一种:没有返回值的函数,则调用独立的语句 函数名(实参1,实参 ...