Commit 0e2f2de5 authored by liguangyu06's avatar liguangyu06
Browse files

用例新增:获取商品详情页库存信息

parent b042ca07
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc获取商品详情页库存信息,2295,2295-115,sit,bs
主数据平台:后台运营系统获取商品详情页库存信息接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.多采商城登录.多采商城登录 import CmdcMaiiLogin
from common.db.db import mySql
import datetime
import requests
import json
module = "cmdc_order_list"
# 第一步登录多采商城获取token
username = commonFuc().get_business_data(module, "username3")
password = commonFuc().get_business_data(module, "password3")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcMaiiLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers1", cmdc_access_token)
# 获取当前日期
now_date = datetime.datetime.now().strftime("%Y-%m-%d")
# 将当前日期转化为儒略历
url = r"https://service-uat.gyqxmall.com/order/public/getDateToRu"
request_body = {"time": now_date}
# 发送请求
result = requests.get(url, params=request_body)
result = json.loads(result.content)
# 获取转换后的日期
ru_date = result["data"]
# 第二步获取商品详情页库存信息
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url115")
request_body = commonFuc().get_business_data(module, "payload115")
# print(request_body)
"""
场景: 获取商品详情页库存信息
用例名称:获取商品详情页库存信息
输出:{"stockQty":"%s"}
"""
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
# 获取接口响应时间
api_time = float(result.elapsed.total_seconds())
# 获取商品详情页显示的库存信息
result = json.loads(result.content)
# print(result)
result = {"stockQty": result["data"][0]["stockQty"]}
# 将接口响应时间添加至result
result["api_time"] = api_time
# 数据库操作
mysql_handle = mySql()
# 获取conf.ini文件中配置的数据库信息
host, port, user, pwd = mysql_handle.getConf(db="cmdc_db")
# 查询数据库中商品对应的库存数量
sql = "SELECT sum(t.quantity)/10000 FROM `cmdc-product`.ic_inventory t " \
"WHERE productCode = 10146174 and markForDelete = 0 " \
"and type = 1 and isLimited != 'Y' and expireDate > {}".format(ru_date)
total = mysql_handle.selectSql(host, port, user, pwd, "cmdc-product", sql)[0][0]
# 获取预期结果
check_dict = commonFuc().get_business_data(module, "checkDict115", int(total))
# print(check_dict)
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
...@@ -2,6 +2,9 @@ ...@@ -2,6 +2,9 @@
"username": "BJ0621" "username": "BJ0621"
"password": "Aa123456" "password": "Aa123456"
"username3": "GL1000086"
"password3": "Aa123456"
#后台运营管理系统登录信息(子站点上海医疗器械有限公司) #后台运营管理系统登录信息(子站点上海医疗器械有限公司)
"username1": "Admin00111" "username1": "Admin00111"
"password1": "Aa123456" "password1": "Aa123456"
...@@ -750,6 +753,11 @@ checkDict104: {"success":true,"code":"200","message":"OK","data":[{"areaName":"" ...@@ -750,6 +753,11 @@ checkDict104: {"success":true,"code":"200","message":"OK","data":[{"areaName":""
checkDict110: {"productCode":"%s"} checkDict110: {"productCode":"%s"}
#测试场景一百一十五:获取商品详情页库存信息
"url115": "/product/public/stockRule/getStockByRule"
"payload115": {"companyCode":"00102","customerCode":"1000086","productCodes":["10146174"],"refreshStock":true}
#预期结果
checkDict115: {"stockQty":"%s"}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment