ddt、依赖测试、断言、测试数据写回

# -*- coding: utf-8 -*-
# @Time : 2020/2/12 23:07
# @File : test_class_15.py
# @Author: Hero Liu
# 相当于案例中的runmethod.py
import unittest
from day_20200208_mooc.base.interface_request_class_5 import RunMain
from day_20200208_mooc.tools.do_excel_openpyxl_14 import DoExcel
from ddt import ddt, data, unpack
from day_20200208_mooc.tools.do_mock_18 import mock_test
from day_20200208_mooc.tools.data_depend_17 import DependData

test_data = DoExcel().get_data("../data/test_data.xlsx", "case")

@ddt
class TestRequest(unittest.TestCase):
    def setUp(self):
        print("case starting...")

    def tearDown(self):
        print("case end.")

    @data(*test_data)
    @unpack
    def test_api(self, case_id, module_title, url, method, header,
                 case_depend, case_depend_data, depend_data_belong_new_key,
                 data, expected):
        print("正在执行第{}条用例:{}".format(case_id, module_title))
        print("请求数据是:", data)
        # 如果存在依赖case_id, 默认就有依赖数据和依赖字段
        # 获取依赖case数据,执行依赖测试,根据依赖测试响应结果返回依赖字段,
        # 根据依赖字段发起对当前case发起请求
        if case_depend:
            r = DependData(case_depend, case_id, "../data/test_data.xlsx", "case")
            res = r.run_present_case()
            print("单独的响应数据:", res)
        else:
            res = mock_test(RunMain().run_main, url, method, data, data, header)
        print("响应数据是1:", res)
        test_result = None
        try:
            print("data[timestamp]: ", data["timestamp"])
            print("res[timestamp]: ", res["timestamp"])
            self.assertEqual(data["timestamp"], res["timestamp"])
            test_result = "PASS"
        except AssertionError as e:
            test_result = "FAILED"
            print("there is an error: {}".format(e))
            raise e
        finally:
            DoExcel().write_back("../data/test_data.xlsx", "case", case_id+1, 12, str(res))
            DoExcel().write_back("../data/test_data.xlsx", "case", case_id+1, 13, test_result)

MOOC(7)- case依赖、读取json配置文件进行多个接口请求-完整的测试类,含依赖测试(15)的更多相关文章

  1. MOOC(7)- case依赖、读取json配置文件进行多个接口请求-解决用例间依赖问题(17)

    最最重要,处理case依赖.字段依赖 # -*- coding: utf-8 -*- # @Time : 2020/2/13 21:14 # @File : data_depend_17.py # @ ...

  2. MOOC(7)- case依赖、读取json配置文件进行多个接口请求-读取json封装成类(13)

    把读取json数据的函数封装成类 # -*- coding: utf-8 -*- # @Time : 2020/2/12 16:44 # @File : do_json_13.py # @Author ...

  3. MOOC(7)- case依赖、读取json配置文件进行多个接口请求-openpyxl读取excel(14)

    从excel中读取数据 # -*- coding: utf-8 -*- # @Time : 2020/2/12 17:23 # @File : do_excel_openpyxl_14.py # @A ...

  4. MOOC(7)- case依赖、读取json配置文件进行多个接口请求-执行测试用例(16)

    执行测试用例 # -*- coding: utf-8 -*- # @Time : 2020/2/12 22:56 # @File : run_test_16.py # @Author: Hero Li ...

  5. MOOC(7)- case依赖、读取json配置文件进行多个接口请求-发送测试报告邮件(19)

    给多个人发邮件时,可以传入邮箱列表 把多个收件人用分号隔开 # -*- coding: utf-8 -*-# @Time : 2020/2/15 17:02# @File : send_mail_19 ...

  6. MOOC(7)- case依赖、读取json配置文件进行多个接口请求-模拟接口响应数据(18)

    这里是把传入的请求数据作为响应值返回 # -*- coding: utf-8 -*- # @Time : 2020/2/15 9:47 # @File : do_mock_18.py # @Autho ...

  7. 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 ...

  8. MOOC(7)- case依赖、读取json配置文件进行多个接口请求-测试类中调用封装的mock(10)

    封装mock后,在单元测试中调用 # -*- coding: utf-8 -*- # @Time : 2020/2/11 8:35 # @File : test_class_10.py.py # @A ...

  9. MOOC(7)- case依赖、读取json配置文件进行多个接口请求-封装mock(9)

    封装mock # -*- coding: utf-8 -*- # @Time : 2020/2/12 8:51 # @File : mock_demo_9.py # @Author: Hero Liu ...

随机推荐

  1. 动态类型识别&动态创建

    以下大部分内容摘自<windows程序设计 第2版> 王艳平 张铮 编著 动态类型识别:在程序运行过程中,辨别对象是否属于特定类的技术. 应用举例:函数辨别参数类型.需要针对对象的类编写特 ...

  2. Java四则运算和验证码生成

    四则运算 程序设计思想 使用随机数生成100或1000以内数字,用字符串数组实现+-*/的输出.For循环打印出所需要的题数. 程序流程图 package yunsuan; import java.u ...

  3. 吴裕雄--天生自然Linux操作系统:Linux 文件基本属性

    Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限.为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定. 在Linux中我们可 ...

  4. java时区问题设置,new Date()和系统时间相差8个小时

    出现这种问题有可能是服务时间没有修改. import java.text.DateFormat;import java.text.ParseException;import java.text.Sim ...

  5. github新手使用教程

    1.首先打开https://github.com/官网 注册一个github账号 2.注册成功之后,登录账号,创建一个属于自己的库 3.创建完成之后,为了方便电脑上的代码上传到github 仓库上,要 ...

  6. 刘永富的Office/VBA/VSTO开发资源分享

    各种常用安装包下载:https://share.weiyun.com/5PCvqY4 简称 文件名称 描述信息 视频课程 虚拟光驱软件Daemon DAEMON_Tools_Lite_V10.1.0. ...

  7. js等于符号的详解

    JavaScript == 与 === 区别 1.对于 string.number 等基础类型,== 和 === 是有区别的 a)不同类型间比较,== 之比较 "转化成同一类型后的值&quo ...

  8. C语言中“段错误”出现的场景

    1.第一种“段错误”出现的场景 1 /************************************************************************* > Fi ...

  9. UML-设想

    样例:

  10. grep 提取百度网盘的链接

    弄到一堆学习资料,都是网盘地址,其中有很多失效了,不想一个个试 3.3第20季:HTML5特效实战 https://pan.baidu.com/s/1kVBrpZp 3.4第21季:3小时玩转微信小程 ...