Commit 530c0f65 authored by 李光宇's avatar 李光宇
Browse files

Merge branch 'master' into 'main'

代码归档只main分支

See merge request !1
parents 13b3da0e 2b18a6d3
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc单个新增验证_套包协议特价,2264,2264-56,sit,bs
主数据平台:后台运营系统客户列表查询、套包列表查询、套包协议特价新增等接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
from datetime import timedelta, date
import random
import requests
import uuid
import json
module = "cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username1")
password = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers", cmdc_access_token)
# 第二步客户列表获取
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "customer_list_url")
request_body = commonFuc().get_business_data(module, "customer_payload")
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
# 生成随机数
customer_quantity = random.randint(1, len(result["data"]["list"]) - 1)
# 客户信息获取
customer_code = result["data"]["list"][customer_quantity]["customerCode"]
customer_name = result["data"]["list"][customer_quantity]["customerName"]
user_name = result["data"]["list"][customer_quantity]["userName"]
# 第三步套包获取
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url25")
request_body = commonFuc().get_business_data(module, "payload25")
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
# 生成套包随机数
group_quantity = random.randint(1, len(result["data"]["list"]) - 1)
# 获取套包信息
fresenius_group = result["data"]["list"][group_quantity]
product_json = result["data"]["list"][group_quantity]["products"]
group_code = result["data"]["list"][group_quantity]["groupCode"]
group_name = result["data"]["list"][group_quantity]["groupName"]
id = result["data"]["list"][group_quantity]["products"][0]["id"]
product_code = result["data"]["list"][group_quantity]["products"][0]["productCode"]
product_name = result["data"]["list"][group_quantity]["products"][0]["productName"]
manufacturer = result["data"]["list"][group_quantity]["products"][0]["manufacturer"]
manufacturer_code = result["data"]["list"][group_quantity]["products"][0]["manufacturerCode"]
option_str = result["data"]["list"][group_quantity]["products"][0]["optionStr"]
measuring_unit = result["data"]["list"][group_quantity]["products"][0]["measuringUnit"]
material_code = result["data"]["list"][group_quantity]["products"][0]["materialCode"]
quantity = result["data"]["list"][group_quantity]["products"][0]["quantity"]
# 随机生成日期
start_date = date(2000, 1, 1)
end_date = date.today()
def random_date(start, end):
delta = end - start
random_days = random.randint(0, delta.days)
return start + timedelta(days=random_days)
random_date = random_date(start_date, end_date)
# 随机生成唯一字符串用于ref
ref_random = str(uuid.uuid4())
# 生成促销价格
activity_unit_amount = random.randint(10, 10000)
# 生成套包说明
group_str = ""
for i in product_json:
# 更新套包内每个商品活动价格
i.update({"activityUnitAmount": activity_unit_amount})
# 获取套包内包含商品信息
product_name = i["productName"]
option_str = i["optionStr"]
quantity = i["quantity"]
str1 = "{}({})*{}".format(product_name, option_str, quantity)
group_str = str1 + "+" + group_str
# 生成套包说明
group_str = "平台套包编号:{} || 套包名称:{}({})".format(group_code, group_name, group_str)
# 更新请求报文中活动价格
fresenius_group.update({"products": product_json})
# 报文组装
fresenius_group.update(commonFuc().get_business_data(module, "payload32", id, product_code, product_name, manufacturer,
manufacturer_code, option_str, measuring_unit, material_code,
quantity))
# 第四步套包协议特价新增
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url35")
request_body = {"manufacturerGroupName": "", "manufacturerGroupCode": "", "groupName": "", "limitPurchase": "",
"isLimit": 0, "freseniusGroup": fresenius_group, "groupStr": group_str, "customerCode": customer_code,
"userName": user_name, "customerName": customer_name, "documentNo": ref_random,
"time": [str(start_date), str(random_date)], "effectiveTime": str(start_date), "expirationTime": str(random_date)}
print(request_body)
"""
场景: 单个新增验证_套包协议特价
用例名称:单个新增验证_套包协议特价
输出:{"success":true,"code":"200","message":"OK"}
"""
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
print(result)
# 获取预期结果
check_dict = commonFuc().get_business_data(module, "checkDict20")
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc单个新增验证_套包正价_指定客户,2264,2264-53,sit,bs
主数据平台:后台运营系统客户列表查询、套包列表查询、套包正价新增等接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
import random
import requests
import json
module = "cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username1")
password = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers", cmdc_access_token)
# 第二步客户列表获取
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "customer_list_url")
request_body = commonFuc().get_business_data(module, "customer_payload")
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
# 生成随机数
customer_quantity = random.randint(1, len(result["data"]["list"]) - 1)
# 客户信息获取
customer_code = result["data"]["list"][customer_quantity]["customerCode"]
customer_name = result["data"]["list"][customer_quantity]["customerName"]
user_name = result["data"]["list"][customer_quantity]["userName"]
# 第三步套包获取
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url25")
request_body = commonFuc().get_business_data(module, "payload25")
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
# 生成套包随机数
group_quantity = random.randint(1, len(result["data"]["list"]) - 1)
# 获取套包信息
fresenius_group = result["data"]["list"][group_quantity]
product_json = result["data"]["list"][group_quantity]["products"]
group_code = result["data"]["list"][group_quantity]["groupCode"]
group_name = result["data"]["list"][group_quantity]["groupName"]
id = result["data"]["list"][group_quantity]["products"][0]["id"]
product_code = result["data"]["list"][group_quantity]["products"][0]["productCode"]
product_name = result["data"]["list"][group_quantity]["products"][0]["productName"]
manufacturer = result["data"]["list"][group_quantity]["products"][0]["manufacturer"]
manufacturer_code = result["data"]["list"][group_quantity]["products"][0]["manufacturerCode"]
option_str = result["data"]["list"][group_quantity]["products"][0]["optionStr"]
measuring_unit = result["data"]["list"][group_quantity]["products"][0]["measuringUnit"]
material_code = result["data"]["list"][group_quantity]["products"][0]["materialCode"]
quantity = result["data"]["list"][group_quantity]["products"][0]["quantity"]
# 生成促销价格
activity_unit_amount = random.randint(10, 10000)
# 生成套包说明
group_str = ""
for i in product_json:
# 更新套包内每个商品活动价格
i.update({"activityUnitAmount":activity_unit_amount})
# 获取套包内包含商品信息
product_name = i["productName"]
option_str = i["optionStr"]
quantity = i["quantity"]
str1 = "{}({})*{}".format(product_name, option_str, quantity)
group_str = str1 + "+" + group_str
# 生成套包说明
group_str = "平台套包编号:{} || 套包名称:{}({})".format(group_code, group_name, group_str)
# 更新请求报文中活动价格
fresenius_group.update({"products": product_json})
# 报文组装
fresenius_group.update(commonFuc().get_business_data(module, "payload32", id, product_code, product_name, manufacturer,
manufacturer_code, option_str, measuring_unit, material_code,
quantity))
# 第四步套包正价新增
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url31")
request_body = {"manufacturerGroupName": "", "manufacturerGroupCode": "", "groupName": "", "limitPurchase": "",
"isLimit": 1, "freseniusGroup": fresenius_group, "groupStr": group_str, "customerCode": customer_code,
"userName": user_name, "customerName": customer_name, "isRegularPrice": 2}
print(request_body)
"""
场景: 单个新增验证_套包正价_指定客户
用例名称:单个新增验证_套包正价_指定客户
输出:{"success":true,"code":"200","message":"OK"}
"""
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
print(result)
# 获取预期结果
check_dict = commonFuc().get_business_data(module, "checkDict20")
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc启用_批量_特价单品,2264,2264-63,sit,bs
主数据平台:运营后台管理系统特价单品启用接口和导入接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
from common.handle_excel import HandleExcel
from common.db.db import mySql
import requests
import json
import os
module = "cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username1")
password = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers2", cmdc_access_token)
# 第二步特价单品列表查询
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url1")
request_body = commonFuc().get_business_data(module, "payload_close")
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
# 获取特价单品对应的商品信息和客户信息
product_code = result["data"]["list"][0]["freseniusProduct"]["productCode"]
product_name = result["data"]["list"][0]["freseniusProduct"]["productName"]
customer_code = result["data"]["list"][0]["customerCode"]
customer_name = result["data"]["list"][0]["customerName"]
# 获取文件
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
file_path = BASE_DIR + "/data/cmdc_files/按条件启用单品与客户关系.xlsx"
# 将商品信息和客户信息写入文件中
excel = HandleExcel(file_path, "Sheet1")
excel.write_data(row=2, column=1, value=product_code)
excel.write_data(row=2, column=2, value=product_name)
excel.write_data(row=2, column=3, value=customer_code)
excel.write_data(row=2, column=4, value=customer_name)
# 第二步文件导入
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url18")
request_body = commonFuc().get_business_data(module, "payload18")
# 获取文件
file = open(file_path, "rb")
files = {"file": file}
# 发送请求
result = requests.post(url, files=files, headers=headers, data=request_body)
result = json.loads(result.content)
print(result)
# 导入成功后获取对应的套包id
group_id = result["data"]["freseniusAgreementPrices"][0]["groupId"]
fresenius_price_id = result["data"]["freseniusAgreementPrices"][0]["freseniusPriceId"]
# 第三步进行特价单品删除操作
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url_open")
request_body = {"freseniusPriceIds": [fresenius_price_id], "groupPriceStatus": 1, "remarks": "特价单品启用"}
"""
场景:启用_批量_特价单品
用例名称:启用_批量_特价单品
输出:{"groupPriceStatus": 1}
"""
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
print(result)
file.close()
if result["success"]:
# 数据库操作
mysql_handle = mySql()
# 获取conf.ini文件中配置的数据库信息
host, port, user, pwd = mysql_handle.getConf(db="cmdc_db")
# 数据库查询特价单品数量
sql = "SELECT t.groupPriceStatus FROM `cmdc-order`.tc_fresenius_agreement_price t WHERE groupId = {};".format(
group_id)
print(sql)
result = {"groupPriceStatus": mysql_handle.selectSql(host, port, user, pwd, "cmdc-order", sql)[0][0]}
print(result)
# 获取预期结果
check_dict = commonFuc().get_business_data(module, "checkDict18")
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
else:
result = {"success": False, "code": "fresenius_agreement_price", "message": "客户【1071246】商品【14184540】存在效期冲突"}
# 获取预期结果
check_dict = commonFuc().get_business_data(module, "checkDict180")
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc商品详情页_套包协议价显示验证,2252,2252-77,sit,bs
涉及到接口:套包协议价列表查询、查询特殊套包详情接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
from air_case.cmdc_login.多采商城登录.多采商城登录 import CmdcMaiiLogin
import requests
import json
module = "cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username1")
password = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers", cmdc_access_token)
# 第二步套包协议价查询
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url3")
request_body = commonFuc().get_business_data(module, "payload_10056821")
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
# 获取商品信息
product_code = result["data"]["list"][0]["products"][0]["productCode"]
company_code = result["data"]["list"][0]["companyCode"]
document_no = result["data"]["list"][0]["documentNo"]
group_price = result["data"]["list"][0]["groupPrice"]
# 第三步登录多采商城获取token信息
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username")
password = commonFuc().get_business_data(module, "password")
# 获取登录后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, "url_website")
request_body = commonFuc().get_business_data(module, "payload_website")
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
# 第四步获取商品对应的套包信息
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url47")
request_body = commonFuc().get_business_data(module, "payload47", product_code, company_code)
"""
场景:商品详情页_套包协议价显示验证
用例名称:商品详情页_套包协议价显示验证
输出:{"groupPrice":"%s","documentNo":"%s"}
"""
# 发送请求
result = requests.get(url, params=request_body, headers=headers)
result = json.loads(result.content)
# 获取商品详情页中套包正价信息
result = {"groupPrice": result["data"][1]["groupPrice"], "documentNo": result["data"][1]["documentNo"]}
print(result)
# # 获取预期结果
check_dict = commonFuc().get_business_data(module, "checkDict48", group_price, document_no)
# # 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc验证商品详情页面套包正价的展示,2252,2252-76,sit,bs
涉及到接口:套包正价列表查询、查询特殊套包详情接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
from air_case.cmdc_login.多采商城登录.多采商城登录 import CmdcMaiiLogin
import requests
import json
module = "cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username1")
password = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers", cmdc_access_token)
# 第二步套包正价查询
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url2")
request_body = commonFuc().get_business_data(module, "payload_10056821")
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
# 获取商品信息
product_code = result["data"]["list"][0]["products"][0]["productCode"]
company_code = result["data"]["list"][0]["companyCode"]
group_name = result["data"]["list"][0]["groupName"]
group_price = result["data"]["list"][0]["groupPrice"]
# 第三步登录多采商城获取token信息
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username")
password = commonFuc().get_business_data(module, "password")
# 获取登录后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, "url_website")
request_body = commonFuc().get_business_data(module, "payload_website")
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
# 第四步获取商品对应的套包信息
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url47")
request_body = commonFuc().get_business_data(module, "payload47", product_code, company_code)
"""
场景:验证套包正价中商品详情页套包信息展示是否正确
用例名称:验证商品详情页面套包信息的展示
输出:{"groupPrice":"%d","groupName":"%s"}
"""
# 发送请求
result = requests.get(url, params=request_body, headers=headers)
result = json.loads(result.content)
# 获取商品详情页中套包正价信息
result = {"groupPrice": result["data"][2]["groupPrice"], "groupName": result["data"][2]["groupName"]}
print(result)
# # 获取预期结果
check_dict = commonFuc().get_business_data(module, "checkDict47", group_price, group_name)
# # 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc验证商品详情页面特价单品的展示,2252,2252-70,sit,bs
涉及到接口:特价单品列表查询、查询特殊套包详情接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
from air_case.cmdc_login.多采商城登录.多采商城登录 import CmdcMaiiLogin
import requests
import json
module = "cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username1")
password = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers", cmdc_access_token)
# 第二步特价单品查询
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url1")
request_body = commonFuc().get_business_data(module, "payload40")
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
# 获取商品信息
product_code = result["data"]["list"][0]["freseniusProduct"]["productCode"]
company_code = result["data"]["list"][0]["companyCode"]
print(product_code)
# 第三步登录多采商城获取token信息
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username")
password = commonFuc().get_business_data(module, "password")
# 获取登录后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, "url_website")
request_body = commonFuc().get_business_data(module, "payload_website")
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
# 第四步获取商品对应的套包信息
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url41")
request_body = commonFuc().get_business_data(module, "payload41", product_code, company_code)
"""
场景:验证特价单品详情页特价信息展示是否正确
用例名称:验证商品详情页面特价单品的展示
输出:{"activityName":"每只特价101元,有效期2023-11-09至2031-12-31"}
"""
# 发送请求
result = requests.get(url, params=request_body, headers=headers)
result = json.loads(result.content)
# 获取活动信息
result = {"activityName": result["data"][0]["activityName"]}
# # 获取预期结果
check_dict = commonFuc().get_business_data(module, "checkDict41")
# # 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc套包停用验证_套包商品管理,2264,2264-40,sit,bs
主数据平台:运营后台管理系统套包列表、套包停用等接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
from common.db.db import mySql
import requests
import json
module = "cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username1")
password = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers", cmdc_access_token)
# 套包状态-启用
group_status = 1
# 第二步获取套包列表
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "group_list")
request_body = commonFuc().get_business_data(module, "group_payload", group_status)
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
# 获取套包列表中已启用套包的id
group_id = result["data"]["list"][0]["products"][0]["groupId"]
# 第三步进行套包的停用
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url7")
request_body = {"groupIds": [group_id], "type": 1, "remarks": "验证套包停用功能"}
"""
场景:套包停用验证_套包商品管理
用例名称:套包停用验证_套包商品管理
输出:{"status":2}
"""
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
# 数据库操作
mysql_handle = mySql()
# 获取conf.ini文件中配置的数据库信息
host, port, user, pwd = mysql_handle.getConf(db="cmdc_db")
# 数据库查询套包状态
sql = "SELECT t.status FROM `cmdc-order`.tc_fresenius_group t WHERE groupId = {}".format(group_id)
result = {"status": mysql_handle.selectSql(host, port, user, pwd, "cmdc-order", sql)[0][0]}
# 获取
# 获取预期结果
check_dict = commonFuc().get_business_data(module, "checkDict7")
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc套包协议特价查询,2264,2264-36,sit,bs
主数据平台:后台运营系统套包协议特价查询接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
from common.db.db import mySql
import requests
import json
module = "cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username1")
password = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers", cmdc_access_token)
# 第二步套包协议特价查询
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url3")
request_body = commonFuc().get_business_data(module, "payload03")
"""
场景:验证套包协议特价接口返回数据与数据库数据是否一致
用例名称:套包协议价查询
输出:{"total":"%s"}
"""
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
# 获取套包协议特价总数量
result = {"total": result["data"]["total"]}
# 数据库操作
mysql_handle = mySql()
# 获取conf.ini文件中配置的数据库信息
host, port, user, pwd = mysql_handle.getConf(db="cmdc_db")
# 数据库查询协议价套包数量(套包存在且非停用下架状态,不是正价套包即isRegularPrice = 0)
sql = "SELECT t.* FROM `cmdc-order`.tc_fresenius_agreement_price t " \
"WHERE companyCode = 00111 and isRegularPrice = 0 and " \
"groupId in (SELECT t.groupId FROM `cmdc-order`.tc_fresenius_group t " \
"WHERE status = 1 and groupType = 0);"
print(sql)
total = len(mysql_handle.selectSql(host, port, user, pwd, "cmdc-order", sql))
print(total)
# 获取预期结果
check_dict = commonFuc().get_business_data(module, "checkDict3", total)
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc套包启用验证_套包商品管理,2264,2264-39,sit,bs
主数据平台:运营后台管理系统套包列表、套包启用等接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
from common.db.db import mySql
import requests
import json
module = "cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username1")
password = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers", cmdc_access_token)
# 套包状态-草稿
group_status = 0
# 第二步获取套包列表
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "group_list")
request_body = commonFuc().get_business_data(module, "group_payload", group_status)
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
# 获取套包列表中草稿套包的id
group_id = result["data"]["list"][0]["products"][0]["groupId"]
# 第三步进行草稿套包的启用
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url6")
request_body = {"groupIds": [group_id], "type": 0, "remarks": ""}
"""
场景:套包启用验证_套包商品管理
用例名称:套包启用验证_套包商品管理
输出:{"status":1}
"""
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
# 数据库操作
mysql_handle = mySql()
# 获取conf.ini文件中配置的数据库信息
host, port, user, pwd = mysql_handle.getConf(db="cmdc_db")
# 数据库查询套包状态
sql = "SELECT t.status FROM `cmdc-order`.tc_fresenius_group t WHERE groupId = {}".format(group_id)
result = {"status": mysql_handle.selectSql(host, port, user, pwd, "cmdc-order", sql)[0][0]}
# 获取
# 获取预期结果
check_dict = commonFuc().get_business_data(module, "checkDict6")
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc套包商品新增,2264,2264-38,sit,bs
主数据平台:运营后台管理系统套包商品新增接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
from common.db.db import mySql
import requests
import random
module = "cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username1")
password = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers", cmdc_access_token)
# 随机生成套包内商品数量
quantity = random.randint(1, 999999)
# 随机生成套包名称
group_name = "麦迪康套包{}".format(quantity)
# 第二步套包商品创建
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url5")
request_body = commonFuc().get_business_data(module, "payload5", group_name, quantity, quantity)
"""
场景:套包商品创建的验证
用例名称:套包商品创建的验证
输出:{"groupName":"%s"}
"""
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
# 数据库操作
mysql_handle = mySql()
# 获取conf.ini文件中配置的数据库信息
host, port, user, pwd = mysql_handle.getConf(db="cmdc_db")
# 数据库查询套包正价数量
sql = "SELECT t.groupName FROM `cmdc-order`.tc_fresenius_group t ORDER BY createTime DESC LIMIT 1"
result = {"groupName": mysql_handle.selectSql(host, port, user, pwd, "cmdc-order", sql)[0][0]}
# 获取
# 获取预期结果
check_dict = commonFuc().get_business_data(module, "checkDict5", group_name)
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc套包商品管理查询条件验证,2264,2264-43,sit,bs
主数据平台:后台运营系统套包商品管理查询接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
import requests
import json
module = "cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username1")
password = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers", cmdc_access_token)
# 套包状态-全部
group_status = ""
# 第二步获取套包列表
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "group_list")
request_body = commonFuc().get_business_data(module, "group_payload", group_status)
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
# 此函数用于当x为none时,进行空字符串替换
def func(x):
if x is None:
x = ""
return x
else:
return x
# 获取套包相关信息
group_code = result["data"]["list"][0]["groupCode"]
group_name = result["data"]["list"][0]["groupName"]
product_code = result["data"]["list"][0]["products"][0]["productCode"]
material_code = result["data"]["list"][0]["products"][0]["materialCode"]
manufacturer_list = result["data"]["list"][0]["products"][0]["manufacturer"]
productLine_name = func(result["data"]["list"][0]["products"][0]["productLineName"])
description = result["data"]["list"][0]["products"][0]["description"]
manufacturer_product_desc = func(result["data"]["list"][0]["products"][0]["manufacturerProductDesc"])
manufacturer_product_no = func(result["data"]["list"][0]["products"][0]["manufacturerProductNo"])
product_info = result["data"]["list"][0]["products"][0]["productName"]
status = result["data"]["list"][0]["status"]
# 第三步套包商品管理查询条件验证
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "group_list")
request_body = commonFuc().get_business_data(module, "payload9", group_code, group_name,
product_code, material_code, manufacturer_list,
productLine_name, description, manufacturer_product_desc,
manufacturer_product_no, product_info, status)
"""
场景:套包商品管理查询条件验证
用例名称:套包商品管理查询条件验证
输出:{"groupCode":"%s"}
"""
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
# 获取套包code
result = {"groupCode": result["data"]["list"][0]["groupCode"]}
# 获取预期结果
check_dict = commonFuc().get_business_data(module, "checkDict9", group_code)
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc套包正价_指定客户查询,2264,2264-37,sit,bs
主数据平台:后台运营系统套包正价查询接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
from common.db.db import mySql
import requests
import json
module = "cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username1")
password = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers", cmdc_access_token)
# 第二步套包正价_指定客户查询
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url4")
request_body = commonFuc().get_business_data(module, "payload4")
"""
场景:套包正价_指定客户查询
用例名称:套包正价_指定客户查询
输出:{"total":"%s"}
"""
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
# 获取套包正价_指定客户总数量
result = {"total": result["data"]["total"]}
print(result)
# 数据库操作
mysql_handle = mySql()
# 获取conf.ini文件中配置的数据库信息
host, port, user, pwd = mysql_handle.getConf(db="cmdc_db")
# 数据库查询套包正价_指定客户数量
sql = "SELECT t.groupId FROM `cmdc-order`.tc_fresenius_agreement_price t " \
"WHERE isRegularPrice = 2 and groupPriceStatus = 1 and companyCode = 00111"
total = len(mysql_handle.selectSql(host, port, user, pwd, "cmdc-order", sql))
print(total)
# 获取预期结果
check_dict = commonFuc().get_business_data(module, "checkDict2", total)
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc套包正价查询,2264,2264-35,sit,bs
主数据平台:后台运营系统套包正价查询接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
from common.db.db import mySql
import requests
import json
module = "cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username1")
password = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers", cmdc_access_token)
# 第二步套包正价查询
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url2")
request_body = commonFuc().get_business_data(module, "payload2")
"""
场景:套包正价查询
用例名称:套包正价查询
输出:{"total":"%s"}
"""
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
# 获取套包正价总数量
result = {"total": result["data"]["total"]}
# 数据库操作
mysql_handle = mySql()
# 获取conf.ini文件中配置的数据库信息
host, port, user, pwd = mysql_handle.getConf(db="cmdc_db")
# 数据库查询套包正价数量
sql = "SELECT t.groupId FROM `cmdc-order`.tc_fresenius_agreement_price t " \
"WHERE isRegularPrice = 1 and groupPriceStatus = 1 and companyCode = 00111"
total = len(mysql_handle.selectSql(host, port, user, pwd, "cmdc-order", sql))
# 获取预期结果
check_dict = commonFuc().get_business_data(module, "checkDict2", total)
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc审核节点_特价单品_限购拦截验证,2264,2264-74,sit,bs
主数据平台:套包核验接口submitFreseniusCheck
备注:此接口返回结果中success为true则代表限购拦截,否则未达到拦截标准,无其他判断字段
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
import requests
import json
module = "cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username1")
password = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers", cmdc_access_token)
# 第二步进行套包限购验证
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url45")
request_body = commonFuc().get_business_data(module, "payload45")
"""
场景:套包商品创建的验证
用例名称:套包商品创建的验证
输出:{"groupName":"%s"}
"""
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
print(result)
# 获取预期结果
check_dict = commonFuc().get_business_data(module, "checkDict45")
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc批量新增_套包商品管理,2264,2264-47,sit,bs
主数据平台:运营后台管理系统套包批量新增接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
from common.handle_excel import HandleExcel
import requests
import json
import os
import random
import uuid
module = "cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username1")
password = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers2", cmdc_access_token)
# 获取文件
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
file_path = BASE_DIR + "/data/cmdc_files/套包商品批量维护模板套包商品管理.xlsx"
# 获取商品列表
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "product_list")
request_body = commonFuc().get_business_data(module, "product_payload")
result = requests.post(url, headers=headers, json=request_body)
result = json.loads(result.content)
# 随机获取不相同两个商品信息
product_id_a = random.randint(1, len(result["data"]["list"]) - 1)
product_code_a = result["data"]["list"][product_id_a]["productCode"]
product_name_a = result["data"]["list"][product_id_a]["productName"]
product_id_b = random.randint(product_id_a + 1, len(result["data"]["list"]))
product_code_b = result["data"]["list"][product_id_b]["productCode"]
product_name_b = result["data"]["list"][product_id_b]["productName"]
# 随机生成套包名称
group_name = "测试套包%s" % uuid.uuid4()
print(group_name)
# 随机生成商品数量
product_num = random.randint(1, 1000)
# 将商品信息写入文件中
excel = HandleExcel(file_path, "Sheet1")
excel.write_data(row=2, column=1, value=group_name)
excel.write_data(row=3, column=1, value=group_name)
excel.write_data(row=2, column=2, value=product_code_a)
excel.write_data(row=2, column=3, value=product_name_a)
excel.write_data(row=2, column=4, value=product_num)
excel.write_data(row=3, column=2, value=product_code_b)
excel.write_data(row=3, column=3, value=product_name_b)
excel.write_data(row=3, column=4, value=product_num)
# 第二步批量新增套包
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "import_url")
# 获取文件
file = open(file_path, "rb")
files = {"file": file}
"""
场景:批量新增_套包商品管理
用例名称:批量新增_套包商品管理
输出:{"success":true,"code":"200","message":"OK","data":{"success":true},"freshToken":null}
"""
# 发送请求
result = requests.post(url, files=files, headers=headers)
result = json.loads(result.content)
file.close()
print(result)
# 获取预期结果
check_dict = commonFuc().get_business_data(module, "checkDict12")
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc批量新增_套包正价,2264,2264-51,sit,bs
主数据平台:运营后台管理系统套包批量新增接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
from common.handle_excel import HandleExcel
import requests
import json
import os
import random
module = "cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username1")
password = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers2", cmdc_access_token)
# 获取文件
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
file_path = BASE_DIR + "/data/cmdc_files/套包正价批量导入模板.xlsx"
# 第二步获取套包列表
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url25")
request_body = commonFuc().get_business_data(module, "payload25")
# 发送请求
result = requests.post(url, headers=headers, json=request_body)
result = json.loads(result.content)
# 随机获取套包信息
group_id_a = random.randint(1, len(result["data"]["list"]) - 1)
group_code = result["data"]["list"][group_id_a]["groupCode"]
group_name = result["data"]["list"][group_id_a]["groupName"]
print(group_name)
# 初始值
row = 2
for i in result["data"]["list"][group_id_a]["products"]:
# 第三步,将商品信息写入文件中
excel = HandleExcel(file_path, "Sheet1")
excel.write_data(row, column=1, value=group_code)
excel.write_data(row, column=2, value=group_name)
excel.write_data(row, column=3, value=i["productCode"])
excel.write_data(row, column=4, value=i["productName"])
excel.write_data(row, column=5, value=group_id_a)
row = row + 1
# 第四步,进行文件导入操作
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url26")
print(url)
# 获取文件
file = open(file_path, "rb")
files = {"file": file}
"""
场景:批量新增_套包商品管理
用例名称:批量新增_套包商品管理
输出:{"success":true,"code":"200","message":"OK","data":{"success":true},"freshToken":null}
"""
print(headers)
# 发送请求
result = requests.post(url, files=files, headers=headers)
result = json.loads(result.content)
file.close()
print(result)
# 获取预期结果
check_dict = commonFuc().get_business_data(module, "checkDict12")
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc验证按条件停用已停用的套包,2264,2264-46,sit,bs
主数据平台:运营后台管理系统Excel导入接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
from common.handle_excel import HandleExcel
import requests
import json
import os
module = "cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username1")
password = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers2", cmdc_access_token)
# 获取文件
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
file_path = BASE_DIR + "/data/cmdc_files/套包按条件停用.xlsx"
# 套包状态-停用状态
group_status = 2
# 获取套包列表
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "group_list")
request_body = commonFuc().get_business_data(module, "group_payload", group_status)
result = requests.post(url, headers=headers, json=request_body)
result = json.loads(result.content)
# 获取套包信息groupCode、groupName、groupId
group_code = result["data"]["list"][0]["groupCode"]
group_name = result["data"]["list"][0]["groupName"]
group_id = result["data"]["list"][0]["groupId"]
# 将套包信息写入文件中
excel = HandleExcel(file_path, "Sheet1")
excel.write_data(row=2, column=1, value=group_code)
excel.write_data(row=2, column=2, value=group_name)
# 第二步进行套包数据导入操作
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url10")
request_body = commonFuc().get_business_data(module, "payload11")
# 获取文件
file = open(file_path, "rb")
files = {"file": file}
"""
场景:验证按条件停用套包功能,是否可以停用已停用的套包
用例名称:验证按条件停用已停用的套包
输出:{"errList":["%s"]}
"""
# 发送请求
result = requests.post(url, files=files, headers=headers, data=request_body)
result = json.loads(result.content)
file.close()
# 截取结果中errList信息
result = {"errList": result["data"]["errMsg"]["errList"]}
print(result)
# 获取预期结果
err_list = "平台套包编号【{}】 在待停用记录里不存在!".format(group_code)
check_dict = commonFuc().get_business_data(module, "checkDict11", err_list)
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc验证按条件停用草稿状态的套包,2264,2264-47,sit,bs
主数据平台:运营后台管理系统Excel导入接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
from common.handle_excel import HandleExcel
import requests
import json
import os
module = "cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username1")
password = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers2", cmdc_access_token)
# 获取文件
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
file_path = BASE_DIR + "/data/cmdc_files/套包按条件停用.xlsx"
# 套包状态-草稿状态
group_status = 0
# 获取套包列表
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "group_list")
request_body = commonFuc().get_business_data(module, "group_payload", group_status)
result = requests.post(url, headers=headers, json=request_body)
result = json.loads(result.content)
# 获取套包信息groupCode、groupName、groupId
group_code = result["data"]["list"][0]["groupCode"]
group_name = result["data"]["list"][0]["groupName"]
group_id = result["data"]["list"][0]["groupId"]
# 将套包信息写入文件中
excel = HandleExcel(file_path, "Sheet1")
excel.write_data(row=2, column=1, value=group_code)
excel.write_data(row=2, column=2, value=group_name)
# 第二步进行套包数据导入操作
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url10")
request_body = commonFuc().get_business_data(module, "payload11")
# 获取文件
file = open(file_path, "rb")
files = {"file": file}
"""
场景:验证按条件停用套包功能,是否可以停用草稿状态的套包
用例名称:验证按条件停用草稿状态的套包
输出:{"errList":["%s"]}
"""
# 发送请求
result = requests.post(url, files=files, headers=headers, data=request_body)
result = json.loads(result.content)
file.close()
# 截取结果中errList信息
result = {"errList": result["data"]["errMsg"]["errList"]}
# 获取预期结果
err_list = "平台套包编号【{}】 在待停用记录里不存在!".format(group_code)
check_dict = commonFuc().get_business_data(module, "checkDict11", err_list)
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc按条件停用套包验证,2264,2264-45,sit,bs
主数据平台:运营后台管理系统Excel导入接口和套包按条件停用接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
from common.handle_excel import HandleExcel
from common.db.db import mySql
import requests
import json
import os
module = "cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username1")
password = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers2", cmdc_access_token)
# 获取文件
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
file_path = BASE_DIR + "/data/cmdc_files/套包按条件停用.xlsx"
# 套包状态-启用状态
group_status = 1
# 获取套包列表
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "group_list")
request_body = commonFuc().get_business_data(module, "group_payload", group_status)
result = requests.post(url, headers=headers, json=request_body)
result = json.loads(result.content)
# 获取套包信息groupCode、groupName、groupId
group_code = result["data"]["list"][0]["groupCode"]
group_name = result["data"]["list"][0]["groupName"]
group_id = result["data"]["list"][0]["groupId"]
# 将套包信息写入文件中
excel = HandleExcel(file_path, "Sheet1")
excel.write_data(row=2, column=1, value=group_code)
excel.write_data(row=2, column=2, value=group_name)
# 第二步进行套包数据导入操作
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url10")
request_body = commonFuc().get_business_data(module, "payload10")
# 获取文件
file = open(file_path, "rb")
files = {"file": file}
# 发送请求
result = requests.post(url, files=files, headers=headers, data=request_body)
result = json.loads(result.content)
file.close()
# 第三步按条件启用套包
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url7")
request_body = {"groupIds": [group_id], "type": 1, "remarks": "验证套包停用功能"}
"""
场景:验证按条件停用套包功能
用例名称:按条件停用套包验证
输出:{"status":2}
"""
# 发送请求
result = requests.post(url, headers=headers, json=request_body)
result = json.loads(result.content)
# 数据库操作
mysql_handle = mySql()
# 获取conf.ini文件中配置的数据库信息
host, port, user, pwd = mysql_handle.getConf(db="cmdc_db")
# 数据库查询套包状态
sql = "SELECT t.status FROM `cmdc-order`.tc_fresenius_group t WHERE groupId = {}".format(group_id)
result = {"status": mysql_handle.selectSql(host, port, user, pwd, "cmdc-order", sql)[0][0]}
# 获取预期结果
check_dict = commonFuc().get_business_data(module, "checkDict7")
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc验证按条件启用已停用的套包,2264,2264-45,sit,bs
主数据平台:运营后台管理系统Excel导入接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
from common.handle_excel import HandleExcel
import requests
import json
import os
module = "cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username1")
password = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers2", cmdc_access_token)
# 获取文件
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
file_path = BASE_DIR + "/data/cmdc_files/套包按条件启用.xlsx"
# 套包状态-停用状态
group_status = 2
# 获取套包列表
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "group_list")
request_body = commonFuc().get_business_data(module, "group_payload", group_status)
result = requests.post(url, headers=headers, json=request_body)
result = json.loads(result.content)
# 获取套包信息groupCode、groupName
group_code = result["data"]["list"][0]["groupCode"]
group_name = result["data"]["list"][0]["groupName"]
# 将套包信息写入文件中
excel = HandleExcel(file_path, "Sheet1")
excel.write_data(row=2, column=1, value=group_code)
excel.write_data(row=2, column=2, value=group_name)
# 第二步进行套包数据导入操作
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url10")
request_body = commonFuc().get_business_data(module, "payload10")
# 获取文件
file = open(file_path, "rb")
files = {"file": file}
"""
场景:验证使用按条件启用功能,是否可以启用已经是停用状态下的套包
用例名称:验证按条件启用已停用的套包
输出:{"errList":["%s"]}
"""
# 发送请求
result = requests.post(url, files=files, headers=headers, data=request_body)
result = json.loads(result.content)
file.close()
# 截取结果中errList信息
result = {"errList": result["data"]["errMsg"]["errList"]}
# 获取预期结果
err_list = "平台套包编号【{}】 在待启用记录里不存在!".format(group_code)
check_dict = commonFuc().get_business_data(module, "checkDict11", err_list)
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
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