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 from commons.SignatureYM import SignatureYM2
class YMClientApi(object): class YMClientApi(object):
def __init__(self): def __init__(self):
self.Domain = "https://api.test.yimaogo.com/cart" self.Domain = "https://api.test.yimaogo.com/cart"
self.headerss = SignatureYM2(Mac="b8:2d:28:04:c7:5c")._headers() 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): def session_start(self):
logging.info("========== [前置] session_start ==========") logging.info("========== [前置] session_start ==========")
url = self.Domain+"/v1/session/start" url = self.Domain+"/v1/session/start"
@ -84,8 +106,28 @@ class YMClientApi(object):
logging.info(f"-----------接口返回数据:{response.json()}\n\n") logging.info(f"-----------接口返回数据:{response.json()}\n\n")
return response.json() 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 ==========") 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({ payload = json.dumps({
"addGoods": [], "addGoods": [],
"autoSelectCoupon": True, "autoSelectCoupon": True,
@ -114,8 +156,8 @@ class YMClientApi(object):
"remainAmount": "13.8", "remainAmount": "13.8",
"totalDisc": "0.0", "totalDisc": "0.0",
"orderItemList": [{ "orderItemList": [{
"uuid": ["2BEDF9C6DD954E1FB3DCD9A9F3C57D29"], # "uuid": ["2BEDF9C6DD954E1FB3DCD9A9F3C57D29"], # 下传
"qty": 1, # "qty": 1, # 下传
"marketPrice": "5", "marketPrice": "5",
"salePrice": "5.00", "salePrice": "5.00",
"totalSalePrice": "5", "totalSalePrice": "5",
@ -126,15 +168,15 @@ class YMClientApi(object):
"barcode": "6925303796426", "barcode": "6925303796426",
"inputCode": "6925303796426", "inputCode": "6925303796426",
"goodsName": "统一茄皇蕃茄牛肉面", "goodsName": "统一茄皇蕃茄牛肉面",
"goodsPromotionTags": null, "goodsPromotionTags": None,
"measureProperty": 0, "measureProperty": 0,
"shoppingBagFlag": false, "shoppingBagFlag": False,
"activityId": null, "activityId": None,
"activityDescription": null, "activityDescription": None,
"totalPromotionPrice": 0, "totalPromotionPrice": 0,
"categoryCode": null, "categoryCode": None,
"isOneBarcodeMore": false, "isOneBarcodeMore": False,
"pkgFlag": false "pkgFlag": False
}, },
{ {
"uuid": ["F9BBA7C9AF7944FF91C717E3D18BD682"], "uuid": ["F9BBA7C9AF7944FF91C717E3D18BD682"],
@ -149,19 +191,19 @@ class YMClientApi(object):
"barcode": "6924743915848", "barcode": "6924743915848",
"inputCode": "6924743915848", "inputCode": "6924743915848",
"goodsName": "乐事无限翡翠黄瓜味薯片", "goodsName": "乐事无限翡翠黄瓜味薯片",
"goodsPromotionTags": null, "goodsPromotionTags": None,
"measureProperty": 0, "measureProperty": 0,
"shoppingBagFlag": false, "shoppingBagFlag": False,
"activityId": null, "activityId": None,
"activityDescription": null, "activityDescription": None,
"totalPromotionPrice": 0, "totalPromotionPrice": 0,
"categoryCode": null, "categoryCode": None,
"isOneBarcodeMore": false, "isOneBarcodeMore": False,
"pkgFlag": false "pkgFlag": False
}], }],
"bagInfoList": null, "bagInfoList": None,
"couponMap": null, "couponMap": None,
"activityGoodsList": null "activityGoodsList": None
} }
} }
@ -177,11 +219,11 @@ class YMClientApi(object):
"weight": 0 "weight": 0
}], }],
"existGoods": [{ "existGoods": [{
"inputCode": "6925303796426", "inputCode": "6925303796426", # 取自 add_2_result["data"]["orderItemList"][0]["inputCode"]
"isNormalAddPurchase": True, "isNormalAddPurchase": True,
"qty": 1, "qty": 1, # 取自 add_2_result["data"]["orderItemList"][0]["qty"]
"uuid": ["2BEDF9C6DD954E1FB3DCD9A9F3C57D29"], "uuid": ["2BEDF9C6DD954E1FB3DCD9A9F3C57D29"], # 取自 add_2_result["data"]["orderItemList"][1]["uuid"]
"weight": 165 # GoodsInfoData["data"]["weight"] "weight": 165 # 取自 GoodsInfoData["data"]["weight"]
}, { }, {
"inputCode": "6924743915848", "inputCode": "6924743915848",
"isNormalAddPurchase": True, "isNormalAddPurchase": True,
@ -189,9 +231,10 @@ class YMClientApi(object):
"uuid": ["F9BBA7C9AF7944FF91C717E3D18BD682"], "uuid": ["F9BBA7C9AF7944FF91C717E3D18BD682"],
"weight": 160 # GoodsInfoData["data"]["weight"] "weight": 160 # GoodsInfoData["data"]["weight"]
}], }],
"orderNo": "1858386778027515904" "orderNo": "1858386778027515904" # 取自 LoginData["data"][0]["orderNo"]
} }
def get_coupon_list(self): def get_coupon_list(self):
logging.info("========== [获取优惠券列表] get_coupon_list ==========") logging.info("========== [获取优惠券列表] get_coupon_list ==========")
payload = json.dumps({ payload = json.dumps({
@ -254,27 +297,6 @@ class YMClientApi(object):
logging.info(f"-----------接口返回数据:{response.json()}\n\n") logging.info(f"-----------接口返回数据:{response.json()}\n\n")
return response.json() 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__': if __name__ == '__main__':

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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