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
posted @ 2020-07-07 21:34  Memory荒年  阅读(270)  评论(0编辑  收藏  举报