zoukankan      html  css  js  c++  java
  • api_register

    #!/user/bin/python3
    # -*- coding: utf-8 -*-
    # @Time : 2020/7/7 15:41
    # @Author :Test_zhangping
    # @Email :981874735@qq.com
    # @File :api_register.py
    import unittest
    import ddt,data
    from Class_Request_API_接口自动化.class_day6.Common.handle_phone import get_new_phone
    from Class_Request_API_接口自动化.class_day6.Common.handle_data import replace_mark_with_data
    api = HandleExcle(datas_dir+"\api_cases.xlsx","注册")
    cases = api.read_all_datas()
    api.close_file

    db =HandleDB()
    @ddt
    class TestRegister(unittest.TestCase):

    @classmethod
    def setUpClass(cls) -> None:
    logger.info("====== 注册模块用例 开始执行 ========")

    @classmethod
    def tearDownClass(cls) -> None:
    logger.info("====== 注册模块用例 执行结束 ========")

    @data(*cases)
    def test_register_ok(self,case):
    logger.info("********** 执行用例:{} ***********")
    # 替换 -动态-
    # 请求数据 #phone# 替换 new_phone
    if case["request_data"].find("#phone#") != -1:
    new_phone = get_new_phone()
    case = replace_mark_with_data(case,"#phone#",new_phone)

    # 步骤 测试数据 -发起请求
    response = api_requests(case["methond"],case["url"],case["request_data"])

    # 期望结果:字符串转换为字典对象
    expected = eval(case["expected"])

    # 断言 - code == 0 msg == ok
    logger.info("用例期望结果:{}".format(case["expected"]))
    try:
    self.assertEqual(response.json()["code"],expected["code"])
    self.assertEqual(response.json()["msg"],expected["msg"])
    # 如果check_sql有值,说明要做数据库校验
    if case["check_sql"]:
    result = db.select_one_data(case["check_sql"])
    self.assertIsNone(result)
    except AssertionError:
    logger.exception("断言失败")
    raise
  • 相关阅读:
    vue----计算与监听属性
    vue---条件与循环语句
    vue--模板语法
    git版本控制系统--介绍
    HttpWebRequest使用总结
    计算机专业的书普遍都这么贵,你们都是怎么获取资源的?
    130 个相见恨晚的超实用网站,一次性分享出来
    实现客户端与服务端的HTTP通讯
    默认网关(地址)
    .NET Reactor使用教程(加密源代码示例)
  • 原文地址:https://www.cnblogs.com/zhang-ping1205/p/13263403.html
Copyright © 2011-2022 走看看