# -*- encoding=utf8 -*- __author__ = "liguangyu" """ case_tag:cmdc_api,cmdc库存信息修改功能验证,2294,2294-41,sit,be 主数据平台:多采商城库存信息修改接口 """ from common.common_func import commonFuc from air_case.cmdc_login.多采商城登录.多采商城登录 import CmdcMaiiLogin from common.db.db import mySql import random 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, "url38") request_body = commonFuc().get_business_data(module, "payload38") # 发送请求 result = requests.post(url, json=request_body, headers=headers) result = json.loads(result.content) # 生成随机数 stock_random = random.randint(0, len(result["data"]["list"]) - 1) # 获取库存上报信息 source = result["data"]["list"][stock_random]["source"] statistic_inv_report_id = result["data"]["list"][stock_random]["statisticInvReportId"] inventory_cost_amount = random.randint(100, 10000) # 第三步进行库存信息修改 url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url40") request_body = commonFuc().get_business_data(module, "payload40", statistic_inv_report_id, inventory_cost_amount, source) # print(request_body) """ 场景: 库存信息修改功能验证 用例名称:库存信息修改功能验证 输出:{"inventoryCostAmount":"%s"} """ # 发送请求 result = requests.post(url, json=request_body, headers=headers) # 获取接口响应时间 api_time = float(result.elapsed.total_seconds()) result = json.loads(result.content) # 数据库操作 mysql_handle = mySql() # 获取conf.ini文件中配置的数据库信息 host, port, user, pwd = mysql_handle.getConf(db="cmdc_db_be") # 查询数据库中站点对应的站点资料变更记录数量 sql = "SELECT t.inventoryCostAmount FROM `cmdc-cms`.cms_statistic_invreport t WHERE statisticInvReportId = {}".format( statistic_inv_report_id) amount = mysql_handle.selectSql(host, port, user, pwd, "cmdc-cms", sql)[0][0] # 断言结果 result = {"inventoryCostAmount": int(amount)} # 将接口响应时间添加至result result["api_time"] = api_time # 获取预期结果 check_dict = commonFuc().get_business_data(module, "checkDict40", inventory_cost_amount) # print(check_dict) # 断言实际结果中是否包含预期结果的内容 commonFuc().check_result(check_dict, result)