MOOC(7)- case依赖、读取json配置文件进行多个接口请求-解决用例间依赖问题(17)
最最重要,处理case依赖、字段依赖
# -*- coding: utf-8 -*- # @Time : 2020/2/13 21:14 # @File : data_depend_17.py # @Author: Hero Liu from day_20200208_mooc.tools.do_excel_openpyxl_14 import DoExcel from day_20200208_mooc.base.interface_request_class_5 import RunMain from day_20200208_mooc.tools.do_mock_18 import mock_test class DependData: """ case_id: 依赖case的id present_case_id: 当前case的id file: case数据来源file sheet:case数据来源sheet 在需要完成“获取依赖case数据、执行依赖测试、返回依赖字段值、根据依赖字段对当前case发起请求” 这一整套流程时,直接调用 run_present_case, 因为这个方法中已经包含了其他方法的调用 """ 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"] header = self.get_depend_case()["header"] res = mock_test(RunMain().run_main, url, method, data, data, header) res["out_trade_no"] = "我是自定义的字段返回值" print("数据加成功了吗?", res) 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的依赖数据,去依赖case里匹配结果, 得到值 # 匹配时需要知道目标值的位置 # 这里假设要匹配的值就是返回的json数据中第一个层级的某个键值, # 如果json数据有多层,根据实际情况修改 # 注意依赖数据和依赖字段的关系 # 依赖数据和依赖case的响应结果的字段是一样的 # 依赖字段是当前case的请求数据中的一个字段 # 依赖数据和依赖字段值是一样的,但是意义不同 def get_depend_case_key(self): # 获取当前case的依赖数据,case_depend_data列即依赖数据, 即depend_key depend_key = self.get_present_case()["case_depend_data"] # 根据依赖key去依赖case匹配值,存到key_data key_data = self.run_depend_case()[depend_key] print("key data:", key_data) # 获取当前case的依赖字段key present_key = self.get_present_case()["depend_data_belong_new_key"] print("present_key:", present_key) # 依赖字段只是作为当前case请求数据中的一个字段,把这个字段更新到当前case的data数据中去 # 通过添加键值的方式来更新 print("数据类型:", type(self.get_present_case()["data"])) dic_ = self.get_present_case()["data"] dic_[present_key] = key_data print("请求字段添加成功了吗", dic_) return dic_ # 根据依赖case字段的值对当前case发起请求 def run_present_case(self): url = self.get_present_case()["url"] method = self.get_present_case()["method"] data = self.get_depend_case_key() header = self.get_depend_case()["header"] res = mock_test(RunMain().run_main, url, method, data, data, header) print("'函数里的响应数据", res) return res
MOOC(7)- case依赖、读取json配置文件进行多个接口请求-解决用例间依赖问题(17)的更多相关文章
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-读取json封装成类(13)
把读取json数据的函数封装成类 # -*- coding: utf-8 -*- # @Time : 2020/2/12 16:44 # @File : do_json_13.py # @Author ...
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-openpyxl读取excel(14)
从excel中读取数据 # -*- coding: utf-8 -*- # @Time : 2020/2/12 17:23 # @File : do_excel_openpyxl_14.py # @A ...
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-执行测试用例(16)
执行测试用例 # -*- coding: utf-8 -*- # @Time : 2020/2/12 22:56 # @File : run_test_16.py # @Author: Hero Li ...
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-完整的测试类,含依赖测试(15)
ddt.依赖测试.断言.测试数据写回 # -*- coding: utf-8 -*- # @Time : 2020/2/12 23:07 # @File : test_class_15.py # @A ...
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-发送测试报告邮件(19)
给多个人发邮件时,可以传入邮箱列表 把多个收件人用分号隔开 # -*- coding: utf-8 -*-# @Time : 2020/2/15 17:02# @File : send_mail_19 ...
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-模拟接口响应数据(18)
这里是把传入的请求数据作为响应值返回 # -*- coding: utf-8 -*- # @Time : 2020/2/15 9:47 # @File : do_mock_18.py # @Autho ...
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-xlrd操作excel(11)
xlrd操作excel # -*- coding: utf-8 -*- # @Time : 2020/2/12 9:14 # @File : do_excel_xlrd_11.py # @Author ...
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-测试类中调用封装的mock(10)
封装mock后,在单元测试中调用 # -*- coding: utf-8 -*- # @Time : 2020/2/11 8:35 # @File : test_class_10.py.py # @A ...
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-封装mock(9)
封装mock # -*- coding: utf-8 -*- # @Time : 2020/2/12 8:51 # @File : mock_demo_9.py # @Author: Hero Liu ...
随机推荐
- PCB上LED指示灯电流、电压总结
一般指示灯正常发光的电流在10~20mA,低电流LED灯的工作电流在2mA一下,亮度和普通的一样. 压降 电流 红色 1.82~1.88V ...
- webpack4+vue 打包 就是没效果?求解!!!
开始对着视频操作 教学视频 用的webpack2 所以没成功 但是 Jquery 可以 成功渲染.Vue就不行. 百度 webpack4+vue打包简单入门:https://segmentfault ...
- min25筛学习笔记
min25筛简介:用来求积性函数F(x)前缀和的,复杂度O(n0.75/logn),大概能求n<=1010. 记一个数x的最小质因子为R(x),所以当x不为质数时,R(x)<=√x这是废话 ...
- linux.linuxidc.com - /2011年资料/Android入门教程/
本文转自 http://itindex.net/detail/15843-linux.linuxidc.com-%E8%B5%84%E6%96%99-android Shared by Yuan 用户 ...
- 操作实践,IDEA自定义toString()方法模板
声明:迁移自本人CSDN博客https://blog.csdn.net/u013365635 Java POJO在日志中常会用于打印,经常会将POJO的内容全部或部分打印出来,所以POJO类的toSt ...
- 半监督的GAN算法
ImprovedGAN $ Loss = Loss_{supervised} + \lambda * Loss_{unsupervised} $ 第二项形式与原始的GAN模型类似. 参考: Imp ...
- DAO层使用mybatis框架有关实体类的有趣细节
1.根据个人习惯,将储存那些数据库查询结果集有映射关系的实体类的Package包名有如下格式: cn.bjut.domain cn.bjut.pojo cn.bjut.model cn.bjut.en ...
- Mac系统下查看Android studio默认debug签名与正式签名的SHA1值
https://blog.csdn.net/weixin_32364917/article/details/80095063 获取默认debug签名SHA1值方法,也可以直接打开系统的终端 输入: k ...
- 题解 P6005 【[USACO20JAN]Time is Mooney G】
抢第一篇题解 这题的思路其实就是一个非常简单的dijkstra,如果跑到第一个点的数据不能更新的时候就输出 很多人不知道要跑多少次才停.其实这题因为答案要减去 T*c^2,而每条边的值 <= 1 ...
- 2017年3月25日工作日志:Jquery使用小结[绑定事件判断、select标签、军官证正则]
jQuery获取DOM绑定事件 在1.8.0版本之前,我们要想获取某个DOM绑定的事件处理程序可以这样: $.data(domObj,'events');//或者$('selector').data( ...