Arthur-Wu committed this file on 2024-11-18
This commit is contained in:
parent
7d3d8cb94f
commit
101f167010
@ -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__':
|
||||||
|
@ -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("========== [删除重量放通白名单商品] ==========")
|
||||||
|
@ -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
5
YiMao/data/__init__.py
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# !/usr/bin/python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# @Author:: Arthur Wu
|
||||||
|
# @Date:: 2024/11/18-11:49
|
||||||
|
# @Description::
|
Binary file not shown.
@ -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__':
|
||||||
|
@ -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__':
|
||||||
|
@ -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__':
|
||||||
|
@ -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__':
|
||||||
|
@ -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__':
|
||||||
|
@ -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("步骤1:session开始")
|
||||||
|
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("步骤1:session开始")
|
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__':
|
||||||
|
@ -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("步骤1:session开始")
|
||||||
|
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("步骤1:session开始")
|
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__':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user