# -*- encoding=utf8 -*- __author__ = "liguangyu" """ case_tag:cmdc_api,cmdc获取采购计划详情,2294,2294-46,sit,be 主数据平台:多采商城获取采购计划详情接口 """ from common.common_func import commonFuc from air_case.cmdc_login.多采商城登录.多采商城登录 import CmdcMaiiLogin from common.db.db import mySql import requests import json module = "cmdc_trade" # 第一步获取登录多采商城所需账号密码 username = commonFuc().get_business_data(module, "username_be") password = commonFuc().get_business_data(module, "password_be") # 获取登录后Cmdc_access_token cmdc_access_token = CmdcMaiiLogin(username, password).get_token() headers = commonFuc().get_business_data(module, "json_headers1", cmdc_access_token) # 第二步获取采购计划详情 url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url43") request_body = commonFuc().get_business_data(module, "payload43") # print(request_body) """ 场景: 获取采购计划详情 用例名称:获取采购计划详情 输出:{"total":"%s"} """ # 发送请求 result = requests.post(url, json=request_body, headers=headers) # 获取接口响应时间 api_time = float(result.elapsed.total_seconds()) result = json.loads(result.content) # 获取采购计划id procurement_id = result["data"]["procurementId"] # 获取采购计划中商品数量 result = {"total": len(result["data"]["procurementDetailList"])} # 数据库操作 mysql_handle = mySql() # 获取conf.ini文件中配置的数据库信息 host, port, user, pwd = mysql_handle.getConf(db="cmdc_db_be") # 查询数据库中对应采购计划中包含的商品数量 sql = "SELECT count(t.id) FROM `cmdc-order`.tc_procurement_detail t WHERE procurementId = {}".format(procurement_id) total = mysql_handle.selectSql(host, port, user, pwd, "cmdc-order", sql)[0][0] # 将接口响应时间添加至result result["api_time"] = api_time # 获取预期结果 check_dict = commonFuc().get_business_data(module, "checkDict43", total) # print(check_dict) # 断言实际结果中是否包含预期结果的内容 commonFuc().check_result(check_dict, result)