Arthur-Wu committed this file on 2024-11-18

This commit is contained in:
ieemoo 2024-11-20 10:16:59 +08:00
parent 7d3d8cb94f
commit 101f167010
12 changed files with 232 additions and 140 deletions

View File

@ -7,12 +7,34 @@ import requests,json, logging
from commons.SignatureYM import SignatureYM2
class YMClientApi(object):
def __init__(self):
self.Domain = "https://api.test.yimaogo.com/cart"
self.headerss = SignatureYM2(Mac="b8:2d:28:04:c7:5c")._headers()
''' 1- without sessionid '''
def get_ads_list(self):
logging.info("========== [获取广告列表] get_ads_list ==========")
''' method 1 '''
payload = {}
url = self.Domain + "/v1/ads/list?areaCode&userId&barcode&adsAreaIds=1,2,3,4,5,6"
logging.info(f"---url: {url}---")
logging.info(f"---headers: {self.headerss}---")
response = requests.request("GET", url, headers=self.headerss, data=payload)
logging.info(f"-----------接口返回状态码:{response.status_code}")
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
return response.json()
def query_ad_detail(self, ADsId: str):
logging.info("========== [查询广告详情] query_ad_detail ==========")
payload = {}
url = self.Domain + "/v1/ads/{adsId}".replace("{adsId}", str(ADsId))
response = requests.request("GET", url, headers=self.headerss, data=payload)
logging.info(f"-----------接口返回状态码:{response.status_code}")
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
return response.json()
''' 2- sessionid must be started first '''
def session_start(self):
logging.info("========== [前置] session_start ==========")
url = self.Domain+"/v1/session/start"
@ -84,8 +106,28 @@ class YMClientApi(object):
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
return response.json()
def delete_cart_goods(self, GoodsInfoData):
def delete_cart_goods(self, GoodsInfoData, LoginData, AddGoodsResponse):
''' 退购
:param GoodsInfoData:
:return:
'''
logging.info("========== [删除购物车商品] delete_cart_goods ==========")
GoodsInfoData = ''
LoginData = ''
AddGoodsResponse = ''
existGoods = []
for goodsinfo in AddGoodsResponse["data"]["orderItemList"]:
good_dict = {}
good_dict["inputCode"] = goodsinfo["inputCode"]
good_dict["isNormalAddPurchase"] = True
good_dict["qty"] = goodsinfo["qty"]
good_dict["uuid"] = goodsinfo["uuid"]
# good_dict["weight"] = goodsinfo["weight"]
good_dict["weight"] = GoodsInfoData["data"]["weight"]
existGoods.append(good_dict)
payload = json.dumps({
"addGoods": [],
"autoSelectCoupon": True,
@ -114,8 +156,8 @@ class YMClientApi(object):
"remainAmount": "13.8",
"totalDisc": "0.0",
"orderItemList": [{
"uuid": ["2BEDF9C6DD954E1FB3DCD9A9F3C57D29"], #
"qty": 1, #
"uuid": ["2BEDF9C6DD954E1FB3DCD9A9F3C57D29"], # 下传
"qty": 1, # 下传
"marketPrice": "5",
"salePrice": "5.00",
"totalSalePrice": "5",
@ -126,15 +168,15 @@ class YMClientApi(object):
"barcode": "6925303796426",
"inputCode": "6925303796426",
"goodsName": "统一茄皇蕃茄牛肉面",
"goodsPromotionTags": null,
"goodsPromotionTags": None,
"measureProperty": 0,
"shoppingBagFlag": false,
"activityId": null,
"activityDescription": null,
"shoppingBagFlag": False,
"activityId": None,
"activityDescription": None,
"totalPromotionPrice": 0,
"categoryCode": null,
"isOneBarcodeMore": false,
"pkgFlag": false
"categoryCode": None,
"isOneBarcodeMore": False,
"pkgFlag": False
},
{
"uuid": ["F9BBA7C9AF7944FF91C717E3D18BD682"],
@ -149,19 +191,19 @@ class YMClientApi(object):
"barcode": "6924743915848",
"inputCode": "6924743915848",
"goodsName": "乐事无限翡翠黄瓜味薯片",
"goodsPromotionTags": null,
"goodsPromotionTags": None,
"measureProperty": 0,
"shoppingBagFlag": false,
"activityId": null,
"activityDescription": null,
"shoppingBagFlag": False,
"activityId": None,
"activityDescription": None,
"totalPromotionPrice": 0,
"categoryCode": null,
"isOneBarcodeMore": false,
"pkgFlag": false
"categoryCode": None,
"isOneBarcodeMore": False,
"pkgFlag": False
}],
"bagInfoList": null,
"couponMap": null,
"activityGoodsList": null
"bagInfoList": None,
"couponMap": None,
"activityGoodsList": None
}
}
@ -177,11 +219,11 @@ class YMClientApi(object):
"weight": 0
}],
"existGoods": [{
"inputCode": "6925303796426",
"inputCode": "6925303796426", # 取自 add_2_result["data"]["orderItemList"][0]["inputCode"]
"isNormalAddPurchase": True,
"qty": 1,
"uuid": ["2BEDF9C6DD954E1FB3DCD9A9F3C57D29"],
"weight": 165 # GoodsInfoData["data"]["weight"]
"qty": 1, # 取自 add_2_result["data"]["orderItemList"][0]["qty"]
"uuid": ["2BEDF9C6DD954E1FB3DCD9A9F3C57D29"], # 取自 add_2_result["data"]["orderItemList"][1]["uuid"]
"weight": 165 # 取自 GoodsInfoData["data"]["weight"]
}, {
"inputCode": "6924743915848",
"isNormalAddPurchase": True,
@ -189,9 +231,10 @@ class YMClientApi(object):
"uuid": ["F9BBA7C9AF7944FF91C717E3D18BD682"],
"weight": 160 # GoodsInfoData["data"]["weight"]
}],
"orderNo": "1858386778027515904"
"orderNo": "1858386778027515904" # 取自 LoginData["data"][0]["orderNo"]
}
def get_coupon_list(self):
logging.info("========== [获取优惠券列表] get_coupon_list ==========")
payload = json.dumps({
@ -254,27 +297,6 @@ class YMClientApi(object):
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
return response.json()
''' 2- without sessionid '''
def get_ads_list(self):
logging.info("========== [获取广告列表] get_ads_list ==========")
''' method 1 '''
payload = {}
url = self.Domain+"/v1/ads/list?areaCode&userId&barcode&adsAreaIds=1,2,3,4,5,6"
logging.info(f"---url: {url}---")
logging.info(f"---headers: {self.headerss}---")
response = requests.request("GET", url, headers=self.headerss, data=payload)
logging.info(f"-----------接口返回状态码:{response.status_code}")
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
return response.json()
def query_ad_detail(self, ADsId:str):
logging.info("========== [查询广告详情] query_ad_detail ==========")
payload = {}
url = self.Domain+"/v1/ads/{adsId}".replace("{adsId}", str(ADsId))
response = requests.request("GET", url, headers=self.headerss, data=payload)
logging.info(f"-----------接口返回状态码:{response.status_code}")
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
return response.json()
if __name__ == '__main__':

View File

@ -61,6 +61,7 @@ class YMServiceApi(object):
writeResult = Txt().append_write_txt("ScenarioTest_GoodsWhiteListID.txt", str(goodsWhiteListID))
if not writeResult:
logging.error(f"---写入 新建促销商品白名单ID 失败!")
return response.json()
def delete_whitelist_goods(self):
logging.info("========== [删除促销白名单商品] ==========")
@ -96,6 +97,7 @@ class YMServiceApi(object):
writeResult = Txt().append_write_txt("ScenarioTest_WeightWhiteListID.txt", str(weightWhiteListID))
if not writeResult:
logging.error(f"---写入 新建重量放通白名单ID 失败!")
return response.json()
def delete_weight_whitelist_goods(self):
logging.info("========== [删除重量放通白名单商品] ==========")

View File

@ -13,10 +13,28 @@ adsAreaId-6: 支付后广告
adsAreaId-7: 小票广告
'''
''' 1-商超、门店信息 '''
MarketAndStoreInfo = {"MarketId": 50, "StoreId": 29}
MarketAndStoreDetail = {"putMarketId": 50, "putStoreId": ["29"]}
''' 2-购物袋 '''
GoodsBagInputcode_mid = '6971648922990'
GoodsBagInputcode_max = '6971648922983'
''' 3-普通商品-2件 '''
NormalGoodsInputcode01 = "6924743915848" # 乐事薯片
NormalGoodsInputcode02 = "6925303796426" # 统一番茄牛肉面
''' 4-会员商品 '''
VipGoodsInputcode = "6925303796426" # 统一番茄牛肉面
''' 5-折扣商品 '''
SaleGoodsInputCode = "6924743915848" # 乐事薯片
''' 6-促销商品白名单 '''
PromotionalWhitelistGoods = {"GoodsInputcode": "6925303796426", "GoodsName": "统一茄皇蕃茄牛肉面"}
''' 7-重量放通白名单 '''
WeightToWhitelistGoods = {"GoodsInputcode": "6924743915848", "GoodsName": "乐事无限翡翠黄瓜味薯片"}
''' 0-广告数据 '''
WuShangADDetail = [
{
"adsAreaId": 1, "mediaType": 1,

5
YiMao/data/__init__.py Normal file
View File

@ -0,0 +1,5 @@
# !/usr/bin/python
# -*- coding: utf-8 -*-
# @Author:: Arthur Wu
# @Date:: 2024/11/18-11:49
# @Description::

View File

@ -6,6 +6,7 @@
import unittest,allure,time
from configs.globalObj import LOGGER
from YiMao.businessFunc.ClientApiLib import YMClientApi
from YiMao.data.WuShangSceneData import *
class Test_C002_NonVipAddShoppingBagAndSettlePayment(unittest.TestCase):
@ -19,6 +20,8 @@ class Test_C002_NonVipAddShoppingBagAndSettlePayment(unittest.TestCase):
def setUp(self) -> None:
self.timestamp = int(time.time())
self.ymc = YMClientApi()
self.goods_inputcode01 = GoodsBagInputcode_mid
self.goods_inputcode02 = GoodsBagInputcode_max
@allure.story('[场景测试] 00201-非会员加购购物袋并试算验证-01')
def test_C00201_NonVipAddShoppingBagAndSettlePayment(self):
@ -29,13 +32,16 @@ class Test_C002_NonVipAddShoppingBagAndSettlePayment(unittest.TestCase):
Payload01 = {"action": 0, "isAnon": True}
LoginData = self.ymc.login_app_v2(Payload01)
allure.step("步骤3获取商品信息")
GoodsInfoData = self.ymc.get_goods_info(InputCode=6971648922990)
GoodsInfoData = self.ymc.get_goods_info(self.goods_inputcode01)
if GoodsInfoData['msg'] != '加购商品不存在':
allure.step("步骤4添加购物袋")
self.ymc.add_cart_goods(GoodsInfoData, 2, LoginData)
allure.step("步骤5获取购物车商品信息")
self.ymc.get_cart_goods_info([GoodsInfoData])
allure.step("步骤6请求订单结算")
self.ymc.request_order_settlement(LoginData)
else:
LOGGER.info(f"---购物袋 {self.goods_inputcode01} 不存在")
@allure.story('[场景测试] 00202-非会员加购购物袋并试算验证-02')
def test_C00202_AddShoppingBagAndSettlePayment(self):
@ -46,13 +52,16 @@ class Test_C002_NonVipAddShoppingBagAndSettlePayment(unittest.TestCase):
Payload01 = {"action": 0, "isAnon": True}
LoginData = self.ymc.login_app_v2(Payload01)
allure.step("步骤3获取商品信息")
GoodsInfoData = self.ymc.get_goods_info(InputCode=6971648922983)
GoodsInfoData = self.ymc.get_goods_info(self.goods_inputcode02)
if GoodsInfoData['msg'] != '加购商品不存在':
allure.step("步骤4添加购物袋")
self.ymc.add_cart_goods(GoodsInfoData, 2, LoginData)
allure.step("步骤5获取购物车商品信息")
self.ymc.get_cart_goods_info([GoodsInfoData])
allure.step("步骤6请求订单结算")
self.ymc.request_order_settlement(LoginData)
else:
LOGGER.info(f"---购物袋 {self.goods_inputcode02} 不存在")
if __name__ == '__main__':

View File

@ -2,10 +2,11 @@
# -*- coding: utf-8 -*-
# @Author:: Arthur Wu
# @Date:: 2024/11/18-10:49
# @Description:: 游客登录,加购会员商品,并结算
# @Description:: 游客登录,加购无优惠普通商品并结算
import unittest,allure,time
from configs.globalObj import LOGGER
from YiMao.businessFunc.ClientApiLib import YMClientApi
from YiMao.data.WuShangSceneData import *
class Test_C003_NonVipAddNonDiscountedProductsForPurchaset(unittest.TestCase):
@ -19,7 +20,7 @@ class Test_C003_NonVipAddNonDiscountedProductsForPurchaset(unittest.TestCase):
def setUp(self) -> None:
self.timestamp = int(time.time())
self.ymc = YMClientApi()
self.vip_goods_inputcode = "6924743915848" # 乐事薯片
self.NormalGoodsInputcode01 = NormalGoodsInputcode01 # 乐事薯片
@allure.story('[场景测试] 003-非会员加购无优惠商品并试算验证-01')
def test_C003_NonVipAddNonDiscountedProductsForPurchase(self):
@ -30,13 +31,16 @@ class Test_C003_NonVipAddNonDiscountedProductsForPurchaset(unittest.TestCase):
Payload01 = {"action": 0, "isAnon": True}
LoginData = self.ymc.login_app_v2(Payload01)
allure.step("步骤3获取商品信息")
GoodsInfoData = self.ymc.get_goods_info(InputCode=self.vip_goods_inputcode)
GoodsInfoData = self.ymc.get_goods_info(InputCode=self.NormalGoodsInputcode01)
if GoodsInfoData['msg'] != '加购商品不存在':
allure.step("步骤4添加无优惠商品")
self.ymc.add_cart_goods(GoodsInfoData, 5, LoginData)
allure.step("步骤5获取购物车商品信息")
self.ymc.get_cart_goods_info([GoodsInfoData])
allure.step("步骤6请求订单结算")
self.ymc.request_order_settlement(LoginData)
else:
LOGGER.info(f"---商品 {self.NormalGoodsInputcode01} 不存在")
if __name__ == '__main__':

View File

@ -1,11 +1,12 @@
# !/usr/bin/python
# -*- coding: utf-8 -*-
# @Author:: Arthur Wu
# @Description:: 游客登录,加购会员商品并结算
# @Description:: 游客登录,加购会员商品并结算
# @Date:: 2021-05-10 16:30:23
import unittest,allure,time
from configs.globalObj import LOGGER
from YiMao.businessFunc.ClientApiLib import YMClientApi
from YiMao.data.WuShangSceneData import *
class Test_C004_NonVipAddMemberPproductsForPurchase(unittest.TestCase):
@ -20,8 +21,7 @@ class Test_C004_NonVipAddMemberPproductsForPurchase(unittest.TestCase):
self.timestamp = int(time.time())
self.ymc = YMClientApi()
# 会员有优惠商品暂未提供
self.vip_goods_inputcode = "6924743915848" # 乐事薯片
self.vip_goods_inputcode = "6925303796426" # 统一番茄牛肉面
self.vip_goods_inputcode = VipGoodsInputcode # 统一番茄牛肉面
@allure.story('[场景测试] 004-非会员加购会员商品并结算验证-01')
def test_C004_NonVipAddMemberPproductsForPurchase(self):
@ -33,12 +33,15 @@ class Test_C004_NonVipAddMemberPproductsForPurchase(unittest.TestCase):
LoginData = self.ymc.login_app_v2(Payload01)
allure.step("步骤3获取商品信息")
GoodsInfoData = self.ymc.get_goods_info(InputCode=self.vip_goods_inputcode)
if GoodsInfoData['msg'] != '加购商品不存在':
allure.step("步骤4添加会员有优惠商品")
self.ymc.add_cart_goods(GoodsInfoData, 1, LoginData)
allure.step("步骤5获取购物车商品信息")
self.ymc.get_cart_goods_info([GoodsInfoData])
allure.step("步骤6请求订单结算")
self.ymc.request_order_settlement(LoginData)
else:
LOGGER.info(f"---商品 {self.vip_goods_inputcode} 不存在")
if __name__ == '__main__':

View File

@ -6,6 +6,7 @@
import unittest,allure,time
from configs.globalObj import LOGGER
from YiMao.businessFunc.ClientApiLib import YMClientApi
from YiMao.data.WuShangSceneData import *
class Test_C005_NonVipAddMultipleItemsForPurchase(unittest.TestCase):
@ -18,8 +19,8 @@ class Test_C005_NonVipAddMultipleItemsForPurchase(unittest.TestCase):
def setUp(self) -> None:
self.timestamp = int(time.time())
self.ymc = YMClientApi()
self.vip_goods_inputcode1 = "6924743915848" # 乐事薯片
self.vip_goods_inputcode2 = "6925303796426" # 统一番茄牛肉面
self.goods_inputcode1 = NormalGoodsInputcode01 # 乐事薯片
self.goods_inputcode2 = NormalGoodsInputcode02 # 统一番茄牛肉面
@allure.story('[场景测试] 005-非会员加购会员商品并结算验证')
def test_C005_NonVipAddMultipleItemsForPurchase(self):
@ -30,17 +31,23 @@ class Test_C005_NonVipAddMultipleItemsForPurchase(unittest.TestCase):
Payload01 = {"action": 0, "isAnon": True}
LoginData = self.ymc.login_app_v2(Payload01)
allure.step("步骤3获取商品1信息")
GoodsInfoData1 = self.ymc.get_goods_info(InputCode=self.vip_goods_inputcode1)
GoodsInfoData1 = self.ymc.get_goods_info(InputCode=self.goods_inputcode1)
if GoodsInfoData1['msg'] != '加购商品不存在':
allure.step("步骤4添加商品1")
self.ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
allure.step("步骤5获取商品2信息")
GoodsInfoData2 = self.ymc.get_goods_info(InputCode=self.vip_goods_inputcode2)
GoodsInfoData2 = self.ymc.get_goods_info(InputCode=self.goods_inputcode2)
if GoodsInfoData2['msg'] != '加购商品不存在':
allure.step("步骤6添加商品2")
self.ymc.add_cart_goods(GoodsInfoData2, 1, LoginData)
allure.step("步骤7获取购物车商品信息")
self.ymc.get_cart_goods_info([GoodsInfoData1, GoodsInfoData2])
allure.step("步骤8请求订单结算")
self.ymc.request_order_settlement(LoginData)
else:
LOGGER.info(f"---商品 {self.goods_inputcode2} 不存在")
else:
LOGGER.info(f"---商品 {self.goods_inputcode1} 不存在")
if __name__ == '__main__':

View File

@ -6,6 +6,7 @@
import unittest,allure,time
from configs.globalObj import LOGGER
from YiMao.businessFunc.ClientApiLib import YMClientApi
from YiMao.data.WuShangSceneData import *
class Test_C006_NonVipAddDiscountedProductsForPurchaset(unittest.TestCase):
@ -20,7 +21,7 @@ class Test_C006_NonVipAddDiscountedProductsForPurchaset(unittest.TestCase):
self.timestamp = int(time.time())
self.ymc = YMClientApi()
# 折扣商品暂未提供
self.vip_goods_inputcode1 = "6924743915848" # 乐事薯片
self.sale_goods_inputCode = SaleGoodsInputCode # 乐事薯片
@allure.story('[场景测试] 006-非会员加购打折商品并结算-01')
def test_C006_NonVipAddDiscountedProductsForPurchase(self):
@ -31,14 +32,16 @@ class Test_C006_NonVipAddDiscountedProductsForPurchaset(unittest.TestCase):
Payload01 = {"action": 0, "isAnon": True}
LoginData = self.ymc.login_app_v2(Payload01)
allure.step("步骤3获取折扣商品信息")
GoodsInfoData1 = self.ymc.get_goods_info(InputCode=self.vip_goods_inputcode1)
GoodsInfoData = self.ymc.get_goods_info(InputCode=self.sale_goods_inputCode)
if GoodsInfoData['msg'] != '加购商品不存在':
allure.step("步骤4加购折扣商品")
self.ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
self.ymc.add_cart_goods(GoodsInfoData, 1, LoginData)
allure.step("步骤5获取购物车商品信息")
self.ymc.get_cart_goods_info([GoodsInfoData1])
self.ymc.get_cart_goods_info([GoodsInfoData])
allure.step("步骤6请求订单结算")
self.ymc.request_order_settlement(LoginData)
else:
LOGGER.info(f"---商品 {self.sale_goods_inputCode} 不存在")
if __name__ == '__main__':

View File

@ -7,7 +7,7 @@ import unittest,allure,time
from configs.globalObj import LOGGER
from YiMao.businessFunc.ClientApiLib import YMClientApi
from YiMao.businessFunc.ServiceApiLib import YMServiceApi
from YiMao.data.WuShangSceneData import *
class Test_C007_NonVipAddPromotionalWhitelistProducts(unittest.TestCase):
'''@Date:: 2024/11/15
@ -22,6 +22,7 @@ class Test_C007_NonVipAddPromotionalWhitelistProducts(unittest.TestCase):
self.ymc = YMClientApi()
self.yms = YMServiceApi()
# 促销白名单商品暂未提供
self.promotional_whitelist_goods = PromotionalWhitelistGoods
@allure.story('[场景测试] 007-非会员加购促销白名单商品并结算')
def test_C007_NonVipAddPromotionalWhitelistProducts(self):
@ -29,8 +30,10 @@ class Test_C007_NonVipAddPromotionalWhitelistProducts(unittest.TestCase):
allure.step("[前置条件]:先调用管理平台接口,将指定商品添加到促销白名单中")
GoodsInfo = {"GoodsInputcode": "6925303796426", "GoodsName": "统一茄皇蕃茄牛肉面"}
MarketAndStoreInfo = {"MarketId": 50, "StoreId": 29}
self.yms.add_promotional_product_whitelist(GoodsInfo, MarketAndStoreInfo)
pre_respomse = self.yms.add_promotional_product_whitelist(GoodsInfo, MarketAndStoreInfo)
if pre_respomse['data'] is not None:
LOGGER.info(f"---商品 {self.promotional_whitelist_goods['GoodsInputcode']} "
f"已添加到促销白名单中")
allure.step("[业务步骤]:再调用客户端接口,执行加购操作")
allure.step("步骤1session开始")
self.ymc.session_start()
@ -38,16 +41,22 @@ class Test_C007_NonVipAddPromotionalWhitelistProducts(unittest.TestCase):
Payload01 = {"action": 0, "isAnon": True}
LoginData = self.ymc.login_app_v2(Payload01)
allure.step("步骤3获取白名单商品信息")
GoodsInfoData1 = self.ymc.get_goods_info(InputCode=GoodsInfo["GoodsInputcode"])
GoodsInfoData1 = self.ymc.get_goods_info(self.promotional_whitelist_goods["GoodsInputcode"])
if GoodsInfoData1['msg'] != '加购商品不存在':
allure.step("步骤4加购白名单商品")
self.ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
allure.step("步骤5获取购物车商品信息")
self.ymc.get_cart_goods_info([GoodsInfoData1])
allure.step("步骤6请求订单结算")
self.ymc.request_order_settlement(LoginData)
else:
LOGGER.info(f"---商品 {self.promotional_whitelist_goods["GoodsInputcode"]} 不存在")
allure.step("[后置处理]:删除添加的促销白名单商品")
self.yms.delete_whitelist_goods()
else:
LOGGER.info(f"---添加商品 {self.promotional_whitelist_goods['GoodsInputcode']} "
f"到促销白名单失败")
if __name__ == '__main__':

View File

@ -7,6 +7,7 @@ import unittest,allure,time
from configs.globalObj import LOGGER
from YiMao.businessFunc.ClientApiLib import YMClientApi
from YiMao.businessFunc.ServiceApiLib import YMServiceApi
from YiMao.data.WuShangSceneData import *
class Test_C008_NonVipAddWeightToTheProduct(unittest.TestCase):
@ -22,6 +23,7 @@ class Test_C008_NonVipAddWeightToTheProduct(unittest.TestCase):
self.ymc = YMClientApi()
self.yms = YMServiceApi()
# 重量放通白名单商品暂未提供
self.weight_to_whitelist_goods = WeightToWhitelistGoods
@allure.story('[场景测试] 008-非会员加购重量放通商品并结算')
def test_C008_NonVipAddWeightToTheProduct(self):
@ -29,8 +31,10 @@ class Test_C008_NonVipAddWeightToTheProduct(unittest.TestCase):
allure.step("[前置条件]:先调用管理平台接口,将指定商品添加到重量放通白名单中")
GoodsInfo = {"GoodsInputcode": "6924743915848", "GoodsName": "乐事无限翡翠黄瓜味薯片"}
MarketAndStoreInfo = {"MarketId": 50, "StoreId": 29}
self.yms.add_weight_to_whitelist(GoodsInfo, MarketAndStoreInfo)
pre_respomse = self.yms.add_weight_to_whitelist(GoodsInfo, MarketAndStoreInfo)
if pre_respomse['data'] is not None:
LOGGER.info(f"---商品 {self.weight_to_whitelist_goods['GoodsInputcode']} "
f"已添加到重量放通白名单中")
''' 2-再调用客户端接口,执行加购操作 '''
allure.step("[业务步骤]:再调用客户端接口,执行加购操作")
allure.step("步骤1session开始")
@ -39,16 +43,22 @@ class Test_C008_NonVipAddWeightToTheProduct(unittest.TestCase):
Payload01 = {"action": 0, "isAnon": True}
LoginData = self.ymc.login_app_v2(Payload01)
allure.step("步骤3获取白名单商品信息")
GoodsInfoData1 = self.ymc.get_goods_info(InputCode=GoodsInfo["GoodsInputcode"])
GoodsInfoData1 = self.ymc.get_goods_info(self.weight_to_whitelist_goods["GoodsInputcode"])
if GoodsInfoData1['msg'] != '加购商品不存在':
allure.step("步骤4加购白名单商品")
self.ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
allure.step("步骤5获取购物车商品信息")
self.ymc.get_cart_goods_info([GoodsInfoData1])
allure.step("步骤6请求订单结算")
self.ymc.request_order_settlement(LoginData)
else:
LOGGER.info(f"---商品 {self.weight_to_whitelist_goods["GoodsInputcode"]} 不存在")
allure.step("[后置处理]:删除添加的重量放通白名单商品")
self.yms.delete_weight_whitelist_goods()
else:
LOGGER.info(f"---添加商品 {self.weight_to_whitelist_goods['GoodsInputcode']} "
f"到重量放通白名单失败")
if __name__ == '__main__':