Arthur-Wu committed this file on 2024-11-25
This commit is contained in:
parent
0cf0c9d8f7
commit
1fd2bf9c4e
@ -1,5 +0,0 @@
|
|||||||
# !/usr/bin/python
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
# @Author:: Arthur Wu
|
|
||||||
# @Description:: 会员登录,领取优惠券
|
|
||||||
# @Date:: 2024/11/21
|
|
@ -104,7 +104,7 @@ 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, GetGoodsInfoList, LoginData, AddGoodsResp):
|
def delete_cart_goods(self, GetGoodsInfoList, LoginData, AddGoodsRespList):
|
||||||
''' 退购 商品
|
''' 退购 商品
|
||||||
:param GetGoodsInfoList:
|
:param GetGoodsInfoList:
|
||||||
:param LoginData:
|
:param LoginData:
|
||||||
@ -114,7 +114,9 @@ class YMClientApi(object):
|
|||||||
import random
|
import random
|
||||||
logging.info("========== [退购 商品] delete_cart_goods ==========")
|
logging.info("========== [退购 商品] delete_cart_goods ==========")
|
||||||
delGoodsList, existGoodsList = [], []
|
delGoodsList, existGoodsList = [], []
|
||||||
for add_goods_info in AddGoodsResp["data"]["orderItemList"]:
|
for add_goods_resp in AddGoodsRespList:
|
||||||
|
# for add_goods_info in AddGoodsResp["data"]["orderItemList"]:
|
||||||
|
add_goods_info = add_goods_resp["data"]["orderItemList"][0]
|
||||||
exist_goods_dict = {}
|
exist_goods_dict = {}
|
||||||
exist_goods_dict["inputCode"] = add_goods_info["inputCode"]
|
exist_goods_dict["inputCode"] = add_goods_info["inputCode"]
|
||||||
exist_goods_dict["isNormalAddPurchase"] = True
|
exist_goods_dict["isNormalAddPurchase"] = True
|
||||||
@ -130,6 +132,12 @@ class YMClientApi(object):
|
|||||||
existGoodsList.append(exist_goods_dict)
|
existGoodsList.append(exist_goods_dict)
|
||||||
|
|
||||||
del_goods_dict = {}
|
del_goods_dict = {}
|
||||||
|
delGoodsInfo = {
|
||||||
|
"inputCode": "",
|
||||||
|
"isNormalAddPurchase": True,
|
||||||
|
"qty": 1,
|
||||||
|
"weight": 0,
|
||||||
|
}
|
||||||
delGoodsInfo = random.choice(GetGoodsInfoList)
|
delGoodsInfo = random.choice(GetGoodsInfoList)
|
||||||
del_goods_dict["inputCode"] = delGoodsInfo["data"]["inputCode"]
|
del_goods_dict["inputCode"] = delGoodsInfo["data"]["inputCode"]
|
||||||
del_goods_dict["isNormalAddPurchase"] = True
|
del_goods_dict["isNormalAddPurchase"] = True
|
||||||
@ -148,11 +156,13 @@ class YMClientApi(object):
|
|||||||
"existGoods": existGoodsList,
|
"existGoods": existGoodsList,
|
||||||
"orderNo": LoginData["data"][0]["orderNo"]
|
"orderNo": LoginData["data"][0]["orderNo"]
|
||||||
})
|
})
|
||||||
|
logging.info(f"-----------退购商品请求体为:{payload}\n")
|
||||||
url = self.Domain + "/v2/shopping/add/retire/purchase"
|
url = self.Domain + "/v2/shopping/add/retire/purchase"
|
||||||
response = requests.request("POST", url, headers=self.headerss, data=payload)
|
response = requests.request("POST", url, headers=self.headerss, data=payload)
|
||||||
logging.info(f"-----------接口返回状态码:{response.status_code}")
|
logging.info(f"-----------接口返回状态码:{response.status_code}")
|
||||||
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
|
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
|
||||||
return response.json()
|
if response.json()["msg"] == '成功':
|
||||||
|
return json.loads(payload)
|
||||||
|
|
||||||
def delete_shopping_bag(self, GetGoodsInfoList, LoginData, AddGoodsResp):
|
def delete_shopping_bag(self, GetGoodsInfoList, LoginData, AddGoodsResp):
|
||||||
''' 退购 购物嗲
|
''' 退购 购物嗲
|
||||||
@ -240,14 +250,14 @@ class YMClientApi(object):
|
|||||||
|
|
||||||
def get_cart_goods_info(self, GoodsDataList):
|
def get_cart_goods_info(self, GoodsDataList):
|
||||||
logging.info("========== [获取购物车商品信息] get_cart_goods_info ==========")
|
logging.info("========== [获取购物车商品信息] get_cart_goods_info ==========")
|
||||||
goods_param_lList = []
|
goods_param_list = []
|
||||||
for goods_data in GoodsDataList:
|
for goods_data in GoodsDataList:
|
||||||
goods_dict = {}
|
goods_dict = {}
|
||||||
goods_dict["inputCode"] = goods_data["data"]["inputCode"]
|
goods_dict["inputCode"] = goods_data["data"]["inputCode"]
|
||||||
goods_dict["qty"] = int(float((goods_data["data"]["qty"])))
|
goods_dict["qty"] = int(float((goods_data["data"]["qty"])))
|
||||||
goods_dict["weight"] = int(goods_data["data"]["weight"])
|
goods_dict["weight"] = int(goods_data["data"]["weight"])
|
||||||
goods_param_lList.append(goods_dict)
|
goods_param_list.append(goods_dict)
|
||||||
payload = json.dumps({"goodsParamList": goods_param_lList}, indent=4, ensure_ascii=False)
|
payload = json.dumps({"goodsParamList": goods_param_list}, indent=4, ensure_ascii=False)
|
||||||
logging.info(f"-----------请求体为:{payload}")
|
logging.info(f"-----------请求体为:{payload}")
|
||||||
url = self.Domain+"/v2/shopping/cart/goods/info"
|
url = self.Domain+"/v2/shopping/cart/goods/info"
|
||||||
response = requests.request("POST", url, headers=self.headerss, data=payload)
|
response = requests.request("POST", url, headers=self.headerss, data=payload)
|
||||||
@ -295,6 +305,7 @@ if __name__ == '__main__':
|
|||||||
ymc.login_app_v2(Payload02) # step4:切换会员登录
|
ymc.login_app_v2(Payload02) # step4:切换会员登录
|
||||||
|
|
||||||
GoodsInfoData = ymc.get_goods_info(InputCode=6924882486100) # step5:获取商品信息 ------ 6924882486100
|
GoodsInfoData = ymc.get_goods_info(InputCode=6924882486100) # step5:获取商品信息 ------ 6924882486100
|
||||||
|
|
||||||
CouponListData = ymc.get_coupon_list() # step6:获取优惠券列表
|
CouponListData = ymc.get_coupon_list() # step6:获取优惠券列表
|
||||||
ymc.receive_coupon(CouponListData) # step7:领取优惠券
|
ymc.receive_coupon(CouponListData) # step7:领取优惠券
|
||||||
ymc.query_coupon_list_user() # step8:查询用户持有的优惠券列表
|
ymc.query_coupon_list_user() # step8:查询用户持有的优惠券列表
|
||||||
|
@ -110,6 +110,40 @@ class YMServiceApi(object):
|
|||||||
logging.info(f"---接口返回状态码为:: {response.status_code}")
|
logging.info(f"---接口返回状态码为:: {response.status_code}")
|
||||||
logging.info(f"---接口返回体为:: {response.json()}\n\n")
|
logging.info(f"---接口返回体为:: {response.json()}\n\n")
|
||||||
|
|
||||||
|
def update_cart_info(self, NewStoreInfo):
|
||||||
|
'''
|
||||||
|
NewStoreInfo={
|
||||||
|
"CartMac": "b8:2d:28:04:c7:5c",
|
||||||
|
"StoreId": 69,
|
||||||
|
}
|
||||||
|
购物车MAC地址:"mac": "b8:2d:28:04:c7:5c",
|
||||||
|
亿猫超市-国秀广场:"storeId": 9017,
|
||||||
|
武商-梦时代:"storeId": 69,
|
||||||
|
家家悦-青岛乐客:"storeId": 9022,
|
||||||
|
中百-中百测试店:"storeId": 68,
|
||||||
|
永辉-龙湖天街:"storeId": 9010,
|
||||||
|
:param NewStoreInfo:
|
||||||
|
:return:
|
||||||
|
'''
|
||||||
|
logging.info("========== [更新购物车信息] ==========")
|
||||||
|
payload = json.dumps({
|
||||||
|
"id": 1213,
|
||||||
|
"mac": NewStoreInfo["CartMac"], #
|
||||||
|
"storeId": NewStoreInfo["StoreId"],
|
||||||
|
"cartModelId": 5,
|
||||||
|
"serialNum": "MMAT3FC10100003101023491",
|
||||||
|
"storeCartNo": "QH97",
|
||||||
|
"rfid": "0104e26401440143010000001",
|
||||||
|
"status": 1,
|
||||||
|
"motherboardType": "3568",
|
||||||
|
"activationDate": "2024-08-01"
|
||||||
|
})
|
||||||
|
url = self.Domain + "admin/cart/1213"
|
||||||
|
response = requests.request("PUT", url, headers=self.headerss, data=payload)
|
||||||
|
logging.info(f"-----------接口返回状态码:{response.status_code}")
|
||||||
|
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
|
||||||
|
return response.json()
|
||||||
|
|
||||||
def approved_abnormal_products(self, MarketAndStoreInfo):
|
def approved_abnormal_products(self, MarketAndStoreInfo):
|
||||||
logging.info("========== [审核通过异常商品] ==========")
|
logging.info("========== [审核通过异常商品] ==========")
|
||||||
auth_token_b = self.headerss["Authorization"]
|
auth_token_b = self.headerss["Authorization"]
|
||||||
@ -198,4 +232,9 @@ if __name__ == '__main__':
|
|||||||
yms = YMServiceApi()
|
yms = YMServiceApi()
|
||||||
GoodsInfo = {"GoodsInputcode": "6924743915848"}
|
GoodsInfo = {"GoodsInputcode": "6924743915848"}
|
||||||
MarketAndStoreDetails = {"putMarketId": 50, "putStoreId": ["69"]}
|
MarketAndStoreDetails = {"putMarketId": 50, "putStoreId": ["69"]}
|
||||||
yms.approved_abnormal_products(MarketAndStoreDetails)
|
|
||||||
|
NewStoreInfo = {
|
||||||
|
"CartMac": "b8:2d:28:04:c7:5c",
|
||||||
|
"StoreId": 68,
|
||||||
|
}
|
||||||
|
yms.update_cart_info(NewStoreInfo)
|
59
YiMao/data/WuShang.yaml
Normal file
59
YiMao/data/WuShang.yaml
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
# which is the data file for Wu Shang.
|
||||||
|
#adsAreaId-1: 登录页广告
|
||||||
|
#adsAreaId-2: 登录后弹窗广告
|
||||||
|
#adsAreaId-3: 购物车主页广告
|
||||||
|
#adsAreaId-4: 待机广告
|
||||||
|
#adsAreaId-5: 扫码广告
|
||||||
|
#adsAreaId-6: 支付后广告
|
||||||
|
#adsAreaId-7: 小票广告
|
||||||
|
# 1-购物车Mac地址
|
||||||
|
ShoppingCartMac: b8:2d:28:04:c7:5c
|
||||||
|
|
||||||
|
# 2-武商会员账号
|
||||||
|
VIPPhoneNumber: 17786408673
|
||||||
|
|
||||||
|
# 3--商超、门店信息
|
||||||
|
MarketAndStoreDetails:
|
||||||
|
putMarketId: 50
|
||||||
|
putStoreId: ["69"]
|
||||||
|
|
||||||
|
# 4--购物袋
|
||||||
|
ShoppingBag:
|
||||||
|
mid: 6971648922990
|
||||||
|
max: 6971648922983
|
||||||
|
|
||||||
|
# 5-原件商品
|
||||||
|
NormalGoods:
|
||||||
|
goods01: 6925791908202
|
||||||
|
goods02: 6925303796426
|
||||||
|
goods03: 6924743915848
|
||||||
|
|
||||||
|
# 6-优惠商品
|
||||||
|
VipGoods:
|
||||||
|
goods01: 6922024730036
|
||||||
|
goods02: 4897114790479
|
||||||
|
goods03: 4820193033335
|
||||||
|
|
||||||
|
# 7-折扣商品
|
||||||
|
SaleGoods:
|
||||||
|
goods01: 9588856298051
|
||||||
|
|
||||||
|
# 8-促销白名单商品
|
||||||
|
PromotionalWhitelistGoods:
|
||||||
|
GoodsInputcode: 9588856298051
|
||||||
|
GoodsName: 濠品轩燕麦酥
|
||||||
|
|
||||||
|
# 9-重量放通白名单商品
|
||||||
|
WeightToWhitelistGoods:
|
||||||
|
GoodsInputcode: 6922024730036
|
||||||
|
GoodsName: 大白兔奶糖
|
||||||
|
|
||||||
|
# 10-散称计重商品
|
||||||
|
MisspellingWeightGoods:
|
||||||
|
GoodsInputcode: 2934431009517
|
||||||
|
GoodsName: 阿克苏苹果
|
||||||
|
|
||||||
|
# 11-计件商品
|
||||||
|
PieceRateGoods:
|
||||||
|
GoodsInputcode: 2910551005806
|
||||||
|
GoodsName: 优选大白菜秧
|
52
YiMao/data/YiMao.yaml
Normal file
52
YiMao/data/YiMao.yaml
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
# which is the data file for Wu Shang.
|
||||||
|
# 1-购物车Mac地址
|
||||||
|
ShoppingCartMac: b8:2d:28:04:c7:5c
|
||||||
|
|
||||||
|
# 2-武商会员账号
|
||||||
|
VIPPhoneNumber:
|
||||||
|
|
||||||
|
# 3--商超、门店信息
|
||||||
|
MarketAndStoreDetails:
|
||||||
|
putMarketId: 50
|
||||||
|
putStoreId: ["69"]
|
||||||
|
|
||||||
|
# 4--购物袋
|
||||||
|
ShoppingBag:
|
||||||
|
mid:
|
||||||
|
max:
|
||||||
|
|
||||||
|
# 5-原件商品
|
||||||
|
NormalGoods:
|
||||||
|
goods01:
|
||||||
|
goods02:
|
||||||
|
goods03:
|
||||||
|
|
||||||
|
# 6-优惠商品
|
||||||
|
VipGoods:
|
||||||
|
goods01:
|
||||||
|
goods02:
|
||||||
|
goods03:
|
||||||
|
|
||||||
|
# 7-折扣商品
|
||||||
|
SaleGoods:
|
||||||
|
goods01:
|
||||||
|
|
||||||
|
# 8-促销白名单商品
|
||||||
|
PromotionalWhitelistGoods:
|
||||||
|
GoodsInputcode:
|
||||||
|
GoodsName:
|
||||||
|
|
||||||
|
# 9-重量放通白名单商品
|
||||||
|
WeightToWhitelistGoods:
|
||||||
|
GoodsInputcode:
|
||||||
|
GoodsName:
|
||||||
|
|
||||||
|
# 10-散称计重商品
|
||||||
|
MisspellingWeightGoods:
|
||||||
|
GoodsInputcode:
|
||||||
|
GoodsName:
|
||||||
|
|
||||||
|
# 11-计件商品
|
||||||
|
PieceRateGoods:
|
||||||
|
GoodsInputcode:
|
||||||
|
GoodsName:
|
55
YiMao/data/ZhongBai.yaml
Normal file
55
YiMao/data/ZhongBai.yaml
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
# which is the data file for Wu Shang.
|
||||||
|
|
||||||
|
# 1-购物车Mac地址
|
||||||
|
ShoppingCartMac: b8:2d:28:04:c7:5c
|
||||||
|
|
||||||
|
# 2-武商会员账号
|
||||||
|
VIPPhoneNumber: 13237135934
|
||||||
|
|
||||||
|
# 3-商超、门店信息
|
||||||
|
MarketAndStoreDetails:
|
||||||
|
putMarketId: 10016
|
||||||
|
putStoreId: ["68"]
|
||||||
|
|
||||||
|
# 4-购物袋
|
||||||
|
ShoppingBag:
|
||||||
|
mid: 6942246202623
|
||||||
|
max: 6942246202616
|
||||||
|
|
||||||
|
# 5-原件商品
|
||||||
|
NormalGoods:
|
||||||
|
goods01: 6972567330071 # 小萌牛泡泡相机
|
||||||
|
goods02: 6972790050364 # 酷滋枇杷软糖36g
|
||||||
|
goods03: 6972462651462 # 罗兰小汤勺
|
||||||
|
|
||||||
|
# 6-优惠商品
|
||||||
|
VipGoods:
|
||||||
|
goods01: 6924187839281
|
||||||
|
goods02: 6924187839243
|
||||||
|
goods03:
|
||||||
|
|
||||||
|
# 7-折扣商品
|
||||||
|
SaleGoods:
|
||||||
|
goods01: 6924187839243
|
||||||
|
|
||||||
|
# 8-促销白名单商品
|
||||||
|
PromotionalWhitelistGoods:
|
||||||
|
GoodsInputcode: 6972790050364
|
||||||
|
GoodsName: 酷滋枇杷软糖36g
|
||||||
|
|
||||||
|
# 9-重量放通白名单商品
|
||||||
|
WeightToWhitelistGoods:
|
||||||
|
GoodsInputcode: 6972462651462
|
||||||
|
GoodsName: 罗兰小汤勺
|
||||||
|
|
||||||
|
# 10-散称计重商品
|
||||||
|
# 250633900250000013 玉如意绿豆芽
|
||||||
|
# 262810902376001203 木兰湖农养鸡蛋
|
||||||
|
MisspellingWeightGoods:
|
||||||
|
GoodsInputcode: 250633900250000013
|
||||||
|
GoodsName: 玉如意绿豆芽
|
||||||
|
|
||||||
|
# 11-计件商品
|
||||||
|
PieceRateGoods:
|
||||||
|
GoodsInputcode:
|
||||||
|
GoodsName:
|
@ -3,13 +3,12 @@
|
|||||||
# @Author:: Arthur Wu
|
# @Author:: Arthur Wu
|
||||||
# @Date:: 2024/11/18-9:38
|
# @Date:: 2024/11/18-9:38
|
||||||
# @Description::
|
# @Description::
|
||||||
import unittest,allure,time,pytest
|
import unittest,allure,time,pytest,ddt
|
||||||
from configs.globalObj import LOGGER
|
from configs.globalParams import DataInit
|
||||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||||
from YiMao.data.WuShangSceneTestData import *
|
|
||||||
|
|
||||||
|
|
||||||
DescName = "Anon001-非会员加购购物袋并试算"
|
DescName = "Anon001-非会员加购购物袋并试算"
|
||||||
|
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CAnon001_AddShoppingBagAndSettlePayment(unittest.TestCase):
|
class Test_CAnon001_AddShoppingBagAndSettlePayment(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/15
|
f'''@Date:: 2024/11/15
|
||||||
@ -19,51 +18,51 @@ class Test_CAnon001_AddShoppingBagAndSettlePayment(unittest.TestCase):
|
|||||||
1、武商测试环境,购物袋inputcode为:
|
1、武商测试环境,购物袋inputcode为:
|
||||||
6971648922990、6971648922983
|
6971648922990、6971648922983
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
@ddt.data(*DataInit)
|
||||||
self.timestamp = int(time.time())
|
def test_CAnon00101_AddMidShoppingbagsForPurchase(self, data):
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.goodsbag_mid = GoodsBagInputcode_mid
|
|
||||||
self.goodsbag_max = GoodsBagInputcode_max
|
|
||||||
|
|
||||||
def test_CAnon00101_AddMidShoppingbagsForPurchase(self):
|
|
||||||
allure.dynamic.description(f"描述:加购中号购物袋")
|
allure.dynamic.description(f"描述:加购中号购物袋")
|
||||||
allure.step("步骤1:session开始")
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
self.ymc.session_start()
|
goodsbag_mid = data["ShoppingBag"]["mid"]
|
||||||
allure.step("步骤2:匿名登录")
|
|
||||||
Payload01 = {"action": 0, "isAnon": True}
|
|
||||||
LoginData = self.ymc.login_app_v2(Payload01)
|
|
||||||
allure.step("步骤3:获取商品信息")
|
|
||||||
GoodsInfoData = self.ymc.get_goods_info(self.goodsbag_mid)
|
|
||||||
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.goodsbag_mid} 不存在")
|
|
||||||
pytest.fail(f"购物袋 {self.goodsbag_mid} 不存在")
|
|
||||||
|
|
||||||
def test_CAnon00102_AddMaxShoppingbagsForPurchase(self):
|
|
||||||
allure.dynamic.description("描述:加购大号购物袋")
|
|
||||||
allure.step("步骤1:session开始")
|
allure.step("步骤1:session开始")
|
||||||
self.ymc.session_start()
|
ymc.session_start()
|
||||||
allure.step("步骤2:匿名登录")
|
allure.step("步骤2:匿名登录")
|
||||||
Payload01 = {"action": 0, "isAnon": True}
|
Payload01 = {"action": 0, "isAnon": True}
|
||||||
LoginData = self.ymc.login_app_v2(Payload01)
|
LoginData = ymc.login_app_v2(Payload01)
|
||||||
allure.step("步骤3:获取商品信息")
|
allure.step("步骤3:获取商品信息")
|
||||||
GoodsInfoData = self.ymc.get_goods_info(self.goodsbag_max)
|
GoodsInfoData = ymc.get_goods_info(goodsbag_mid)
|
||||||
if GoodsInfoData['msg'] != '加购商品不存在':
|
if GoodsInfoData['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤4:添加购物袋")
|
allure.step("步骤4:添加购物袋")
|
||||||
self.ymc.add_cart_goods(GoodsInfoData, 2, LoginData)
|
ymc.add_cart_goods(GoodsInfoData, 2, LoginData)
|
||||||
allure.step("步骤5:获取购物车商品信息")
|
allure.step("步骤5:获取购物车商品信息")
|
||||||
self.ymc.get_cart_goods_info([GoodsInfoData])
|
ymc.get_cart_goods_info([GoodsInfoData])
|
||||||
allure.step("步骤6:请求订单结算")
|
allure.step("步骤6:请求订单结算")
|
||||||
self.ymc.request_order_settlement(LoginData)
|
ymc.request_order_settlement(LoginData)
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---购物袋 {self.goodsbag_max} 不存在")
|
pytest.fail(f"购物袋 {goodsbag_mid} 不存在")
|
||||||
pytest.fail(f"购物袋 {self.goodsbag_mid} 不存在")
|
|
||||||
|
@ddt.data(*DataInit)
|
||||||
|
def test_CAnon00102_AddMaxShoppingbagsForPurchase(self, data):
|
||||||
|
allure.dynamic.description("描述:加购大号购物袋")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
goodsbag_max = data["ShoppingBag"]["max"]
|
||||||
|
|
||||||
|
allure.step("步骤1:session开始")
|
||||||
|
ymc.session_start()
|
||||||
|
allure.step("步骤2:匿名登录")
|
||||||
|
Payload01 = {"action": 0, "isAnon": True}
|
||||||
|
LoginData = ymc.login_app_v2(Payload01)
|
||||||
|
allure.step("步骤3:获取商品信息")
|
||||||
|
GoodsInfoData = ymc.get_goods_info(goodsbag_max)
|
||||||
|
if GoodsInfoData['msg'] != '加购商品不存在':
|
||||||
|
allure.step("步骤4:添加购物袋")
|
||||||
|
ymc.add_cart_goods(GoodsInfoData, 2, LoginData)
|
||||||
|
allure.step("步骤5:获取购物车商品信息")
|
||||||
|
ymc.get_cart_goods_info([GoodsInfoData])
|
||||||
|
allure.step("步骤6:请求订单结算")
|
||||||
|
ymc.request_order_settlement(LoginData)
|
||||||
|
else:
|
||||||
|
pytest.fail(f"购物袋 {goodsbag_max} 不存在")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
@ -3,13 +3,12 @@
|
|||||||
# @Author:: Arthur Wu
|
# @Author:: Arthur Wu
|
||||||
# @Date:: 2024/11/18-10:49
|
# @Date:: 2024/11/18-10:49
|
||||||
# @Description:: 游客登录,加购无优惠普通商品并结算
|
# @Description:: 游客登录,加购无优惠普通商品并结算
|
||||||
import unittest,allure,time,pytest
|
import unittest,allure,time,pytest,ddt
|
||||||
from configs.globalObj import LOGGER
|
|
||||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||||
from YiMao.data.WuShangSceneTestData import *
|
from configs.globalParams import DataInit
|
||||||
|
|
||||||
|
|
||||||
DescName = "Anon002-非会员加购无优惠商品并试算"
|
DescName = "Anon002-非会员加购无优惠商品并试算"
|
||||||
|
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CAnon002(unittest.TestCase):
|
class Test_CAnon002(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/15
|
f'''@Date:: 2024/11/15
|
||||||
@ -19,30 +18,28 @@ class Test_CAnon002(unittest.TestCase):
|
|||||||
1、武商测试环境,普通无优惠商品inputcode为:
|
1、武商测试环境,普通无优惠商品inputcode为:
|
||||||
6924743915848
|
6924743915848
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
@ddt.data(*DataInit)
|
||||||
self.timestamp = int(time.time())
|
def test_CAnon002_AddNonDiscountedProductsForPurchase(self, data):
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.NormalGoodsInputcode01 = NormalGoodsInputcode01
|
|
||||||
|
|
||||||
def test_CAnon002_AddNonDiscountedProductsForPurchase(self):
|
|
||||||
allure.dynamic.description(f"描述:{DescName}")
|
allure.dynamic.description(f"描述:{DescName}")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
NormalGoodsInputcode01 = data["NormalGoods"]["goods01"]
|
||||||
|
|
||||||
allure.step("步骤1:session开始")
|
allure.step("步骤1:session开始")
|
||||||
self.ymc.session_start()
|
ymc.session_start()
|
||||||
allure.step("步骤2:匿名登录")
|
allure.step("步骤2:匿名登录")
|
||||||
Payload01 = {"action": 0, "isAnon": True}
|
Payload01 = {"action": 0, "isAnon": True}
|
||||||
LoginData = self.ymc.login_app_v2(Payload01)
|
LoginData = ymc.login_app_v2(Payload01)
|
||||||
allure.step("步骤3:获取商品信息")
|
allure.step("步骤3:获取商品信息")
|
||||||
GoodsInfoData = self.ymc.get_goods_info(InputCode=self.NormalGoodsInputcode01)
|
GoodsInfoData = ymc.get_goods_info(InputCode=NormalGoodsInputcode01)
|
||||||
if GoodsInfoData['msg'] != '加购商品不存在':
|
if GoodsInfoData['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤4:添加无优惠商品")
|
allure.step("步骤4:添加无优惠商品")
|
||||||
self.ymc.add_cart_goods(GoodsInfoData, 5, LoginData)
|
ymc.add_cart_goods(GoodsInfoData, 5, LoginData)
|
||||||
allure.step("步骤5:获取购物车商品信息")
|
allure.step("步骤5:获取购物车商品信息")
|
||||||
self.ymc.get_cart_goods_info([GoodsInfoData])
|
ymc.get_cart_goods_info([GoodsInfoData])
|
||||||
allure.step("步骤6:请求订单结算")
|
allure.step("步骤6:请求订单结算")
|
||||||
self.ymc.request_order_settlement(LoginData)
|
ymc.request_order_settlement(LoginData)
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---商品 {self.NormalGoodsInputcode01} 不存在")
|
pytest.fail(f"商品 {NormalGoodsInputcode01} 不存在")
|
||||||
pytest.fail(f"商品 {self.NormalGoodsInputcode01} 不存在")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
@ -3,46 +3,41 @@
|
|||||||
# @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,pytest
|
import unittest,allure,time,pytest,ddt
|
||||||
from configs.globalObj import LOGGER
|
|
||||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||||
from YiMao.data.WuShangSceneTestData import *
|
from configs.globalParams import DataInit
|
||||||
|
|
||||||
|
|
||||||
DescName = "Anon003-非会员加购会员商品并结算"
|
DescName = "Anon003-非会员加购会员商品并结算"
|
||||||
|
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CAnon003(unittest.TestCase):
|
class Test_CAnon003(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/15
|
f'''@Date:: 2024/11/15
|
||||||
@Author:: Arthur Wu
|
@Author:: Arthur Wu
|
||||||
@Desc::
|
@Desc::
|
||||||
[购物车客户端] {DescName}
|
[购物车客户端] {DescName}
|
||||||
1、武商测试环境,会员有优惠商品inputcode为:
|
|
||||||
!!!!会员有优惠商品暂未提供
|
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
@ddt.data(*DataInit)
|
||||||
self.timestamp = int(time.time())
|
def test_CAnon003_AddMemberProductsForPurchase(self, data):
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.vip_goods_inputcode = VipGoodsInputcode
|
|
||||||
|
|
||||||
def test_CAnon003_AddMemberProductsForPurchase(self):
|
|
||||||
allure.dynamic.description(f"描述:{DescName}")
|
allure.dynamic.description(f"描述:{DescName}")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
vip_goods_inputcode = data["VipGoods"]["goods01"]
|
||||||
|
|
||||||
allure.step("步骤1:session开始")
|
allure.step("步骤1:session开始")
|
||||||
self.ymc.session_start()
|
ymc.session_start()
|
||||||
allure.step("步骤2:匿名登录")
|
allure.step("步骤2:匿名登录")
|
||||||
Payload01 = {"action": 0, "isAnon": True}
|
Payload01 = {"action": 0, "isAnon": True}
|
||||||
LoginData = self.ymc.login_app_v2(Payload01)
|
LoginData = ymc.login_app_v2(Payload01)
|
||||||
allure.step("步骤3:获取商品信息")
|
allure.step("步骤3:获取商品信息")
|
||||||
GoodsInfoData = self.ymc.get_goods_info(self.vip_goods_inputcode)
|
GoodsInfoData = ymc.get_goods_info(vip_goods_inputcode)
|
||||||
if GoodsInfoData['msg'] != '加购商品不存在':
|
if GoodsInfoData['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤4:添加会员有优惠商品")
|
allure.step("步骤4:添加会员有优惠商品")
|
||||||
self.ymc.add_cart_goods(GoodsInfoData, 1, LoginData)
|
ymc.add_cart_goods(GoodsInfoData, 1, LoginData)
|
||||||
allure.step("步骤5:获取购物车商品信息")
|
allure.step("步骤5:获取购物车商品信息")
|
||||||
self.ymc.get_cart_goods_info([GoodsInfoData])
|
ymc.get_cart_goods_info([GoodsInfoData])
|
||||||
allure.step("步骤6:请求订单结算")
|
allure.step("步骤6:请求订单结算")
|
||||||
self.ymc.request_order_settlement(LoginData)
|
ymc.request_order_settlement(LoginData)
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---商品 {self.vip_goods_inputcode} 不存在")
|
pytest.fail(f"商品 {vip_goods_inputcode} 不存在")
|
||||||
pytest.fail(f"商品 {self.vip_goods_inputcode} 不存在")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
@ -3,13 +3,12 @@
|
|||||||
# @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,pytest
|
import unittest,allure,time,pytest,ddt
|
||||||
from configs.globalObj import LOGGER
|
|
||||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||||
from YiMao.data.WuShangSceneTestData import *
|
from configs.globalParams import DataInit
|
||||||
|
|
||||||
|
|
||||||
DescName = "Anon004-非会员加购多件商品并结算"
|
DescName = "Anon004-非会员加购多件商品并结算"
|
||||||
|
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CAnon004(unittest.TestCase):
|
class Test_CAnon004(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/15
|
f'''@Date:: 2024/11/15
|
||||||
@ -18,39 +17,36 @@ class Test_CAnon004(unittest.TestCase):
|
|||||||
[购物车客户端] {DescName}
|
[购物车客户端] {DescName}
|
||||||
1、武商测试环境,多件商品的 inputcode 分别为:
|
1、武商测试环境,多件商品的 inputcode 分别为:
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
@ddt.data(*DataInit)
|
||||||
self.timestamp = int(time.time())
|
def test_CAnon004_AddMultipleItemsForPurchase(self, data):
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.goods_inputcode1 = NormalGoodsInputcode01
|
|
||||||
self.goods_inputcode2 = NormalGoodsInputcode02
|
|
||||||
|
|
||||||
def test_CAnon004_AddMultipleItemsForPurchase(self):
|
|
||||||
allure.dynamic.description(f"描述:{DescName}")
|
allure.dynamic.description(f"描述:{DescName}")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
goods_inputcode1 = data["NormalGoods"]["goods01"]
|
||||||
|
goods_inputcode2 = data["NormalGoods"]["goods02"]
|
||||||
|
|
||||||
allure.step("步骤1:session开始")
|
allure.step("步骤1:session开始")
|
||||||
self.ymc.session_start()
|
ymc.session_start()
|
||||||
allure.step("步骤2:匿名登录")
|
allure.step("步骤2:匿名登录")
|
||||||
Payload01 = {"action": 0, "isAnon": True}
|
Payload01 = {"action": 0, "isAnon": True}
|
||||||
LoginData = self.ymc.login_app_v2(Payload01)
|
LoginData = ymc.login_app_v2(Payload01)
|
||||||
allure.step("步骤3:获取商品1信息")
|
allure.step("步骤3:获取商品1信息")
|
||||||
GoodsInfoData1 = self.ymc.get_goods_info(InputCode=self.goods_inputcode1)
|
GoodsInfoData1 = ymc.get_goods_info(InputCode=goods_inputcode1)
|
||||||
if GoodsInfoData1['msg'] != '加购商品不存在':
|
if GoodsInfoData1['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤4:添加商品1")
|
allure.step("步骤4:添加商品1")
|
||||||
self.ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
|
ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
|
||||||
allure.step("步骤5:获取商品2信息")
|
allure.step("步骤5:获取商品2信息")
|
||||||
GoodsInfoData2 = self.ymc.get_goods_info(InputCode=self.goods_inputcode2)
|
GoodsInfoData2 = ymc.get_goods_info(InputCode=goods_inputcode2)
|
||||||
if GoodsInfoData2['msg'] != '加购商品不存在':
|
if GoodsInfoData2['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤6:添加商品2")
|
allure.step("步骤6:添加商品2")
|
||||||
self.ymc.add_cart_goods(GoodsInfoData2, 1, LoginData)
|
ymc.add_cart_goods(GoodsInfoData2, 1, LoginData)
|
||||||
allure.step("步骤7:获取购物车商品信息")
|
allure.step("步骤7:获取购物车商品信息")
|
||||||
self.ymc.get_cart_goods_info([GoodsInfoData1, GoodsInfoData2])
|
ymc.get_cart_goods_info([GoodsInfoData1, GoodsInfoData2])
|
||||||
allure.step("步骤8:请求订单结算")
|
allure.step("步骤8:请求订单结算")
|
||||||
self.ymc.request_order_settlement(LoginData)
|
ymc.request_order_settlement(LoginData)
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---商品 {self.goods_inputcode2} 不存在")
|
pytest.fail(f"商品 {goods_inputcode2} 不存在")
|
||||||
pytest.fail(f"商品 {self.goods_inputcode2} 不存在")
|
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---商品 {self.goods_inputcode1} 不存在")
|
pytest.fail(f"商品 {goods_inputcode1} 不存在")
|
||||||
pytest.fail(f"商品 {self.goods_inputcode1} 不存在")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
@ -3,13 +3,12 @@
|
|||||||
# @Author:: Arthur Wu
|
# @Author:: Arthur Wu
|
||||||
# @Description:: 游客登录,加购打折商品并结算
|
# @Description:: 游客登录,加购打折商品并结算
|
||||||
# @Date:: 2021-05-10 16:30:22
|
# @Date:: 2021-05-10 16:30:22
|
||||||
import unittest,allure,time,pytest
|
import unittest,allure,time,pytest,ddt
|
||||||
from configs.globalObj import LOGGER
|
|
||||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||||
from YiMao.data.WuShangSceneTestData import *
|
from configs.globalParams import DataInit
|
||||||
|
|
||||||
|
|
||||||
DescName = "Anon005-非会员加购打折商品并结算"
|
DescName = "Anon005-非会员加购打折商品并结算"
|
||||||
|
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CAnon005(unittest.TestCase):
|
class Test_CAnon005(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/15
|
f'''@Date:: 2024/11/15
|
||||||
@ -19,30 +18,28 @@ class Test_CAnon005(unittest.TestCase):
|
|||||||
1、武商测试环境,会员有优惠商品inputcode为:
|
1、武商测试环境,会员有优惠商品inputcode为:
|
||||||
!!!!折扣商品暂未提供
|
!!!!折扣商品暂未提供
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
@ddt.data(*DataInit)
|
||||||
self.timestamp = int(time.time())
|
def test_CAnon005_AddDiscountedProductsForPurchase(self, data):
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.sale_goods_inputCode = SaleGoodsInputCode
|
|
||||||
|
|
||||||
def test_CAnon005_AddDiscountedProductsForPurchase(self):
|
|
||||||
allure.dynamic.description(f"描述:{DescName}")
|
allure.dynamic.description(f"描述:{DescName}")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
sale_goods_inputCode = data["SaleGoods"]["goods01"]
|
||||||
|
|
||||||
allure.step("步骤1:session开始")
|
allure.step("步骤1:session开始")
|
||||||
self.ymc.session_start()
|
ymc.session_start()
|
||||||
allure.step("步骤2:匿名登录")
|
allure.step("步骤2:匿名登录")
|
||||||
Payload01 = {"action": 0, "isAnon": True}
|
Payload01 = {"action": 0, "isAnon": True}
|
||||||
LoginData = self.ymc.login_app_v2(Payload01)
|
LoginData = ymc.login_app_v2(Payload01)
|
||||||
allure.step("步骤3:获取折扣商品信息")
|
allure.step("步骤3:获取折扣商品信息")
|
||||||
GoodsInfoData = self.ymc.get_goods_info(InputCode=self.sale_goods_inputCode)
|
GoodsInfoData = ymc.get_goods_info(InputCode=sale_goods_inputCode)
|
||||||
if GoodsInfoData['msg'] != '加购商品不存在':
|
if GoodsInfoData['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤4:加购折扣商品")
|
allure.step("步骤4:加购折扣商品")
|
||||||
self.ymc.add_cart_goods(GoodsInfoData, 1, LoginData)
|
ymc.add_cart_goods(GoodsInfoData, 1, LoginData)
|
||||||
allure.step("步骤5:获取购物车商品信息")
|
allure.step("步骤5:获取购物车商品信息")
|
||||||
self.ymc.get_cart_goods_info([GoodsInfoData])
|
ymc.get_cart_goods_info([GoodsInfoData])
|
||||||
allure.step("步骤6:请求订单结算")
|
allure.step("步骤6:请求订单结算")
|
||||||
self.ymc.request_order_settlement(LoginData)
|
ymc.request_order_settlement(LoginData)
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---商品 {self.sale_goods_inputCode} 不存在")
|
pytest.fail(f"---商品 {sale_goods_inputCode} 不存在")
|
||||||
pytest.fail(f"---商品 {self.sale_goods_inputCode} 不存在")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
@ -3,14 +3,13 @@
|
|||||||
# @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,pytest
|
import unittest,allure,time,pytest,ddt
|
||||||
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.WuShangSceneTestData import *
|
from configs.globalParams import DataInit
|
||||||
|
|
||||||
|
|
||||||
DescName = "Anon006-非会员加购促销白名单商品并结算"
|
DescName = "Anon006-非会员加购促销白名单商品并结算"
|
||||||
|
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CAnon006(unittest.TestCase):
|
class Test_CAnon006(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/15
|
f'''@Date:: 2024/11/15
|
||||||
@ -20,50 +19,45 @@ class Test_CAnon006(unittest.TestCase):
|
|||||||
1、武商测试环境,促销白名单商品inputcode为:
|
1、武商测试环境,促销白名单商品inputcode为:
|
||||||
6925303796426
|
6925303796426
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
@ddt.data(*DataInit)
|
||||||
self.timestamp = int(time.time())
|
def test_CAnon006_AddPromotionalWhitelistProducts(self, data):
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
allure.dynamic.description(f"描述:{DescName}")
|
||||||
self.yms = YMServiceApi()
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
self.promotional_whitelist_goods = PromotionalWhitelistGoods
|
yms = YMServiceApi()
|
||||||
self.market_and_store_info = {
|
promotional_whitelist_goods = data["PromotionalWhitelistGoods"]
|
||||||
"MarketId": MarketAndStoreDetails["putMarketId"],
|
market_and_store_info = {
|
||||||
"StoreId": MarketAndStoreDetails["putStoreId"][0]
|
"MarketId": data["MarketAndStoreDetails"]['putMarketId'],
|
||||||
|
"StoreId": data["MarketAndStoreDetails"]['putStoreId'][0]
|
||||||
}
|
}
|
||||||
|
|
||||||
def test_CAnon006_AddPromotionalWhitelistProducts(self):
|
|
||||||
allure.dynamic.description(f"描述:{DescName}")
|
|
||||||
allure.step("[前置条件]:先调用管理平台接口,将指定商品添加到促销白名单中")
|
allure.step("[前置条件]:先调用管理平台接口,将指定商品添加到促销白名单中")
|
||||||
pre_respomse = self.yms.add_promotional_product_whitelist(
|
pre_respomse = yms.add_promotional_product_whitelist(
|
||||||
self.promotional_whitelist_goods, self.market_and_store_info
|
promotional_whitelist_goods, market_and_store_info
|
||||||
)
|
)
|
||||||
if pre_respomse['data'] is not None:
|
if pre_respomse['data'] is not None:
|
||||||
LOGGER.info(f"---商品 {self.promotional_whitelist_goods['GoodsInputcode']} "
|
|
||||||
f"已添加到促销白名单中")
|
|
||||||
allure.step("[业务步骤]:再调用客户端接口,执行加购操作")
|
allure.step("[业务步骤]:再调用客户端接口,执行加购操作")
|
||||||
allure.step("步骤1:session开始")
|
allure.step("步骤1:session开始")
|
||||||
self.ymc.session_start()
|
ymc.session_start()
|
||||||
allure.step("步骤2:匿名登录")
|
allure.step("步骤2:匿名登录")
|
||||||
Payload01 = {"action": 0, "isAnon": True}
|
Payload01 = {"action": 0, "isAnon": True}
|
||||||
LoginData = self.ymc.login_app_v2(Payload01)
|
LoginData = ymc.login_app_v2(Payload01)
|
||||||
allure.step("步骤3:获取白名单商品信息")
|
allure.step("步骤3:获取白名单商品信息")
|
||||||
GoodsInfoData1 = self.ymc.get_goods_info(self.promotional_whitelist_goods["GoodsInputcode"])
|
GoodsInfoData1 = ymc.get_goods_info(promotional_whitelist_goods["GoodsInputcode"])
|
||||||
if GoodsInfoData1['msg'] != '加购商品不存在':
|
if GoodsInfoData1['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤4:加购白名单商品")
|
allure.step("步骤4:加购白名单商品")
|
||||||
self.ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
|
ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
|
||||||
allure.step("步骤5:获取购物车商品信息")
|
allure.step("步骤5:获取购物车商品信息")
|
||||||
self.ymc.get_cart_goods_info([GoodsInfoData1])
|
ymc.get_cart_goods_info([GoodsInfoData1])
|
||||||
allure.step("步骤6:请求订单结算")
|
allure.step("步骤6:请求订单结算")
|
||||||
self.ymc.request_order_settlement(LoginData)
|
ymc.request_order_settlement(LoginData)
|
||||||
|
allure.step("[后置处理]:删除添加的促销白名单商品")
|
||||||
|
yms.delete_whitelist_goods()
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---商品 {self.promotional_whitelist_goods["GoodsInputcode"]} 不存在")
|
allure.step("[后置处理]:删除添加的促销白名单商品")
|
||||||
pytest.fail(f"商品 {self.promotional_whitelist_goods["GoodsInputcode"]}不存在")
|
yms.delete_whitelist_goods()
|
||||||
|
pytest.fail(f"商品 {promotional_whitelist_goods["GoodsInputcode"]}不存在")
|
||||||
allure.step("[后置处理]:删除添加的促销白名单商品")
|
|
||||||
self.yms.delete_whitelist_goods()
|
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---添加商品 {self.promotional_whitelist_goods['GoodsInputcode']} "
|
pytest.fail(f"---添加商品 {promotional_whitelist_goods['GoodsInputcode']} "
|
||||||
f"到促销白名单失败")
|
|
||||||
pytest.fail(f"---添加商品 {self.promotional_whitelist_goods['GoodsInputcode']} "
|
|
||||||
f"到促销白名单失败")
|
f"到促销白名单失败")
|
||||||
|
|
||||||
|
|
||||||
|
@ -3,14 +3,14 @@
|
|||||||
# @Author:: Arthur Wu
|
# @Author:: Arthur Wu
|
||||||
# @Description:: 游客登录,加购重量放通商品并结算
|
# @Description:: 游客登录,加购重量放通商品并结算
|
||||||
# @Date:: 2021-05-10 16:30:22
|
# @Date:: 2021-05-10 16:30:22
|
||||||
import unittest,allure,time,pytest
|
import unittest,allure,time,pytest,ddt
|
||||||
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.WuShangSceneTestData import *
|
from configs.globalParams import DataInit
|
||||||
|
|
||||||
|
|
||||||
DescName = "Anon007-非会员加购重量放通商品并结算"
|
DescName = "Anon007-非会员加购重量放通商品并结算"
|
||||||
|
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CAnon007(unittest.TestCase):
|
class Test_CAnon007(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/15
|
f'''@Date:: 2024/11/15
|
||||||
@ -20,51 +20,48 @@ class Test_CAnon007(unittest.TestCase):
|
|||||||
1、武商测试环境,重量放通商品inputcode为:
|
1、武商测试环境,重量放通商品inputcode为:
|
||||||
6924743915848
|
6924743915848
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
@ddt.data(*DataInit)
|
||||||
self.timestamp = int(time.time())
|
def test_CAnon007_AddWeightToTheProduct(self, data):
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
allure.dynamic.description(f"描述:{DescName}")
|
||||||
self.yms = YMServiceApi()
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
self.weight_to_whitelist_goods = WeightToWhitelistGoods
|
yms = YMServiceApi()
|
||||||
self.market_and_store_info = {
|
weight_to_whitelist_goods = data["WeightToWhitelistGoods"]
|
||||||
"MarketId": MarketAndStoreDetails["putMarketId"],
|
market_and_store_info = {
|
||||||
"StoreId": MarketAndStoreDetails["putStoreId"][0]
|
"MarketId": data["MarketAndStoreDetails"]['putMarketId'],
|
||||||
|
"StoreId": data["MarketAndStoreDetails"]['putStoreId'][0]
|
||||||
}
|
}
|
||||||
|
|
||||||
def test_CAnon007_AddWeightToTheProduct(self):
|
|
||||||
allure.dynamic.description(f"描述:{DescName}")
|
|
||||||
allure.step("[前置条件]:先调用管理平台接口,将指定商品添加到重量放通白名单中")
|
allure.step("[前置条件]:先调用管理平台接口,将指定商品添加到重量放通白名单中")
|
||||||
pre_respomse = self.yms.add_weight_to_whitelist(
|
pre_respomse = yms.add_weight_to_whitelist(
|
||||||
self.weight_to_whitelist_goods, self.market_and_store_info
|
weight_to_whitelist_goods, market_and_store_info
|
||||||
)
|
)
|
||||||
if pre_respomse['data'] is not None:
|
if pre_respomse['data'] is not None:
|
||||||
LOGGER.info(f"---商品 {self.weight_to_whitelist_goods['GoodsInputcode']} "
|
LOGGER.info(f"---商品 {weight_to_whitelist_goods['GoodsInputcode']} "
|
||||||
f"已添加到重量放通白名单中")
|
f"已添加到重量放通白名单中")
|
||||||
''' 2-再调用客户端接口,执行加购操作 '''
|
''' 2-再调用客户端接口,执行加购操作 '''
|
||||||
allure.step("[业务步骤]:再调用客户端接口,执行加购操作")
|
allure.step("[业务步骤]:再调用客户端接口,执行加购操作")
|
||||||
allure.step("步骤1:session开始")
|
allure.step("步骤1:session开始")
|
||||||
self.ymc.session_start()
|
ymc.session_start()
|
||||||
allure.step("步骤2:匿名登录")
|
allure.step("步骤2:匿名登录")
|
||||||
Payload01 = {"action": 0, "isAnon": True}
|
Payload01 = {"action": 0, "isAnon": True}
|
||||||
LoginData = self.ymc.login_app_v2(Payload01)
|
LoginData = ymc.login_app_v2(Payload01)
|
||||||
allure.step("步骤3:获取白名单商品信息")
|
allure.step("步骤3:获取白名单商品信息")
|
||||||
GoodsInfoData1 = self.ymc.get_goods_info(self.weight_to_whitelist_goods["GoodsInputcode"])
|
GoodsInfoData1 = ymc.get_goods_info(weight_to_whitelist_goods["GoodsInputcode"])
|
||||||
if GoodsInfoData1['msg'] != '加购商品不存在':
|
if GoodsInfoData1['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤4:加购白名单商品")
|
allure.step("步骤4:加购白名单商品")
|
||||||
self.ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
|
ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
|
||||||
allure.step("步骤5:获取购物车商品信息")
|
allure.step("步骤5:获取购物车商品信息")
|
||||||
self.ymc.get_cart_goods_info([GoodsInfoData1])
|
ymc.get_cart_goods_info([GoodsInfoData1])
|
||||||
allure.step("步骤6:请求订单结算")
|
allure.step("步骤6:请求订单结算")
|
||||||
self.ymc.request_order_settlement(LoginData)
|
ymc.request_order_settlement(LoginData)
|
||||||
|
allure.step("[后置处理]:删除添加的重量放通白名单商品")
|
||||||
|
yms.delete_weight_whitelist_goods()
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---商品 {self.weight_to_whitelist_goods["GoodsInputcode"]} 不存在")
|
allure.step("[后置处理]:删除添加的重量放通白名单商品")
|
||||||
pytest.fail(f"---商品 {self.weight_to_whitelist_goods["GoodsInputcode"]} 不存在")
|
yms.delete_weight_whitelist_goods()
|
||||||
|
pytest.fail(f"---商品 {weight_to_whitelist_goods["GoodsInputcode"]} 不存在")
|
||||||
allure.step("[后置处理]:删除添加的重量放通白名单商品")
|
|
||||||
self.yms.delete_weight_whitelist_goods()
|
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---添加商品 {self.weight_to_whitelist_goods['GoodsInputcode']} "
|
pytest.fail(f"---添加商品 {weight_to_whitelist_goods['GoodsInputcode']} "
|
||||||
f"到重量放通白名单失败")
|
|
||||||
pytest.fail(f"---添加商品 {self.weight_to_whitelist_goods['GoodsInputcode']} "
|
|
||||||
f"到重量放通白名单失败")
|
f"到重量放通白名单失败")
|
||||||
|
|
||||||
|
|
||||||
|
@ -3,13 +3,12 @@
|
|||||||
# @Author:: Arthur Wu
|
# @Author:: Arthur Wu
|
||||||
# @Description:: 游客登录,加购2个购物袋,退购一个购物袋,并结算
|
# @Description:: 游客登录,加购2个购物袋,退购一个购物袋,并结算
|
||||||
# @Date:: 2024/11/20
|
# @Date:: 2024/11/20
|
||||||
import unittest,allure,time,pytest
|
import unittest,allure,time,pytest,ddt
|
||||||
from configs.globalObj import LOGGER
|
|
||||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||||
from YiMao.data.WuShangSceneTestData import *
|
from configs.globalParams import DataInit
|
||||||
|
|
||||||
|
|
||||||
DescName = "Anon008-非会员,加购2个购物袋,退购一个购物袋,并结算"
|
DescName = "Anon008-非会员,加购2个购物袋,退购一个购物袋,并结算"
|
||||||
|
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CAnon008(unittest.TestCase):
|
class Test_CAnon008(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/20
|
f'''@Date:: 2024/11/20
|
||||||
@ -18,46 +17,43 @@ class Test_CAnon008(unittest.TestCase):
|
|||||||
[购物车客户端] {DescName}
|
[购物车客户端] {DescName}
|
||||||
1、武商测试环境,购物袋的 inputcode 分别为:
|
1、武商测试环境,购物袋的 inputcode 分别为:
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
@ddt.data(*DataInit)
|
||||||
self.timestamp = int(time.time())
|
def test_CAnon008_ReturnShoppingBag(self, data):
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.shoppingbag_mid = GoodsBagInputcode_mid
|
|
||||||
self.shoppingbag_max = GoodsBagInputcode_max
|
|
||||||
|
|
||||||
def test_CAnon008_ReturnShoppingBag(self):
|
|
||||||
allure.dynamic.description(f"描述:{DescName}")
|
allure.dynamic.description(f"描述:{DescName}")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
shoppingbag_mid = data["ShoppingBag"]["mid"]
|
||||||
|
shoppingbag_max = data["ShoppingBag"]["max"]
|
||||||
|
|
||||||
allure.step("步骤1:session开始")
|
allure.step("步骤1:session开始")
|
||||||
self.ymc.session_start()
|
ymc.session_start()
|
||||||
allure.step("步骤2:匿名登录")
|
allure.step("步骤2:匿名登录")
|
||||||
Payload01 = {"action": 0, "isAnon": True}
|
Payload01 = {"action": 0, "isAnon": True}
|
||||||
LoginData = self.ymc.login_app_v2(Payload01)
|
LoginData = ymc.login_app_v2(Payload01)
|
||||||
'''step1:加购商品x,分别加购x件'''
|
'''step1:加购商品x,分别加购x件'''
|
||||||
allure.step("步骤3:获取商品1信息")
|
allure.step("步骤3:获取商品1信息")
|
||||||
GetGoodsInfoResp_01 = self.ymc.get_goods_info(InputCode=self.shoppingbag_mid)
|
GetGoodsInfoResp_01 = ymc.get_goods_info(InputCode=shoppingbag_mid)
|
||||||
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤4:添加商品1")
|
allure.step("步骤4:添加商品1")
|
||||||
self.ymc.add_cart_goods(GetGoodsInfoResp_01, 2, LoginData)
|
ymc.add_cart_goods(GetGoodsInfoResp_01, 2, LoginData)
|
||||||
allure.step("步骤5:获取商品2信息")
|
allure.step("步骤5:获取商品2信息")
|
||||||
GetGoodsInfoResp_02 = self.ymc.get_goods_info(InputCode=self.shoppingbag_max)
|
GetGoodsInfoResp_02 = ymc.get_goods_info(InputCode=shoppingbag_max)
|
||||||
if GetGoodsInfoResp_02['msg'] != '加购商品不存在':
|
if GetGoodsInfoResp_02['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤6:添加商品2")
|
allure.step("步骤6:添加商品2")
|
||||||
AddGoodsResp = self.ymc.add_cart_goods(GetGoodsInfoResp_02, 2, LoginData)
|
AddGoodsResp = ymc.add_cart_goods(GetGoodsInfoResp_02, 2, LoginData)
|
||||||
|
|
||||||
''' step2:随机退购一个商品,并结算 '''
|
''' step2:随机退购一个商品,并结算 '''
|
||||||
allure.step("\n步骤7:退购一件商品")
|
allure.step("\n步骤7:退购一件商品")
|
||||||
GetGoodsInfoList = [GetGoodsInfoResp_01, GetGoodsInfoResp_02]
|
GetGoodsInfoList = [GetGoodsInfoResp_01, GetGoodsInfoResp_02]
|
||||||
self.ymc.delete_shopping_bag(GetGoodsInfoList, LoginData, AddGoodsResp)
|
ymc.delete_shopping_bag(GetGoodsInfoList, LoginData, AddGoodsResp)
|
||||||
|
|
||||||
allure.step("步骤8:获取购物车商品信息")
|
allure.step("步骤8:获取购物车商品信息")
|
||||||
self.ymc.get_cart_goods_info([GetGoodsInfoResp_01, GetGoodsInfoResp_02])
|
ymc.get_cart_goods_info([GetGoodsInfoResp_01, GetGoodsInfoResp_02])
|
||||||
allure.step("步骤9:请求订单结算")
|
allure.step("步骤9:请求订单结算")
|
||||||
self.ymc.request_order_settlement(LoginData)
|
ymc.request_order_settlement(LoginData)
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---商品 {self.shoppingbag_max} 不存在")
|
pytest.fail(f"---商品 {shoppingbag_max} 不存在")
|
||||||
pytest.fail(f"---商品 {self.shoppingbag_max} 不存在")
|
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---商品 {self.shoppingbag_mid} 不存在")
|
pytest.fail(f"---商品 {shoppingbag_mid} 不存在")
|
||||||
pytest.fail(f"---商品 {self.shoppingbag_mid} 不存在")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
@ -3,13 +3,12 @@
|
|||||||
# @Author:: Arthur Wu
|
# @Author:: Arthur Wu
|
||||||
# @Description:: 游客登录,加购2个普通商品,退购一个,并结算
|
# @Description:: 游客登录,加购2个普通商品,退购一个,并结算
|
||||||
# @Date:: 2024/11/20
|
# @Date:: 2024/11/20
|
||||||
import unittest,allure,time,pytest
|
import unittest,allure,time,pytest,ddt
|
||||||
from configs.globalObj import LOGGER
|
|
||||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||||
from YiMao.data.WuShangSceneTestData import *
|
from configs.globalParams import DataInit
|
||||||
|
|
||||||
|
|
||||||
DescName = "Anon009-非会员,加购2个普通商品,退购一个,并结算"
|
DescName = "Anon009-非会员,加购2个普通商品,退购一个,并结算"
|
||||||
|
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CAnon009(unittest.TestCase):
|
class Test_CAnon009(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/20
|
f'''@Date:: 2024/11/20
|
||||||
@ -18,46 +17,44 @@ class Test_CAnon009(unittest.TestCase):
|
|||||||
[购物车客户端] {DescName}
|
[购物车客户端] {DescName}
|
||||||
1、武商测试环境,2个普通商品 inputcode 分别为:
|
1、武商测试环境,2个普通商品 inputcode 分别为:
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
@ddt.data(*DataInit)
|
||||||
self.timestamp = int(time.time())
|
def test_CAnon009_ReturnPurchaseOfOrdinaryGoods(self, data):
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.goods_01 = NormalGoodsInputcode01
|
|
||||||
self.goods_02 = NormalGoodsInputcode02
|
|
||||||
|
|
||||||
def test_CAnon009_ReturnPurchaseOfOrdinaryGoods(self):
|
|
||||||
allure.dynamic.description(f"描述:{DescName}")
|
allure.dynamic.description(f"描述:{DescName}")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
goods_01 = data["NormalGoods"]["goods01"]
|
||||||
|
goods_02 = data["NormalGoods"]["goods02"]
|
||||||
|
|
||||||
allure.step("步骤1:session开始")
|
allure.step("步骤1:session开始")
|
||||||
self.ymc.session_start()
|
ymc.session_start()
|
||||||
allure.step("步骤2:匿名登录")
|
allure.step("步骤2:匿名登录")
|
||||||
Payload01 = {"action": 0, "isAnon": True}
|
Payload01 = {"action": 0, "isAnon": True}
|
||||||
LoginData = self.ymc.login_app_v2(Payload01)
|
LoginData = ymc.login_app_v2(Payload01)
|
||||||
'''step1:加购商品x,分别加购x件'''
|
'''step1:加购商品x,分别加购x件'''
|
||||||
allure.step("步骤3:获取商品1信息")
|
allure.step("步骤3:获取商品1信息")
|
||||||
GetGoodsInfoResp_01 = self.ymc.get_goods_info(InputCode=self.goods_01)
|
GetGoodsInfoResp_01 = ymc.get_goods_info(InputCode=goods_01)
|
||||||
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤4:添加商品1")
|
allure.step("步骤4:添加商品1")
|
||||||
self.ymc.add_cart_goods(GetGoodsInfoResp_01, 1, LoginData)
|
ymc.add_cart_goods(GetGoodsInfoResp_01, 1, LoginData)
|
||||||
allure.step("步骤5:获取商品2信息")
|
allure.step("步骤5:获取商品2信息")
|
||||||
GetGoodsInfoResp_02 = self.ymc.get_goods_info(InputCode=self.goods_02)
|
GetGoodsInfoResp_02 = ymc.get_goods_info(InputCode=goods_02)
|
||||||
if GetGoodsInfoResp_02['msg'] != '加购商品不存在':
|
if GetGoodsInfoResp_02['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤6:添加商品2")
|
allure.step("步骤6:添加商品2")
|
||||||
AddGoodsResp = self.ymc.add_cart_goods(GetGoodsInfoResp_02, 1, LoginData)
|
AddGoodsResp = ymc.add_cart_goods(GetGoodsInfoResp_02, 1, LoginData)
|
||||||
|
|
||||||
''' step2:随机退购一个商品,并结算 '''
|
''' step2:随机退购一个商品,并结算 '''
|
||||||
allure.step("\n步骤7:退购一件商品")
|
allure.step("\n步骤7:退购一件商品")
|
||||||
GetGoodsInfoList = [GetGoodsInfoResp_01, GetGoodsInfoResp_02]
|
GetGoodsInfoList = [GetGoodsInfoResp_01, GetGoodsInfoResp_02]
|
||||||
self.ymc.delete_cart_goods(GetGoodsInfoList, LoginData, AddGoodsResp)
|
AddGoodsResp_List = [AddGoodsResp]
|
||||||
|
ymc.delete_cart_goods(GetGoodsInfoList, LoginData, AddGoodsResp_List)
|
||||||
|
|
||||||
allure.step("步骤8:获取购物车商品信息")
|
allure.step("步骤8:获取购物车商品信息")
|
||||||
self.ymc.get_cart_goods_info([GetGoodsInfoResp_01, GetGoodsInfoResp_02])
|
ymc.get_cart_goods_info([GetGoodsInfoResp_01, GetGoodsInfoResp_02])
|
||||||
allure.step("步骤9:请求订单结算")
|
allure.step("步骤9:请求订单结算")
|
||||||
self.ymc.request_order_settlement(LoginData)
|
ymc.request_order_settlement(LoginData)
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---商品 {self.goods_02} 不存在")
|
pytest.fail(f"---商品 {goods_02} 不存在")
|
||||||
pytest.fail(f"---商品 {self.goods_02} 不存在")
|
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---商品 {self.goods_01} 不存在")
|
pytest.fail(f"---商品 {goods_01} 不存在")
|
||||||
pytest.fail(f"---商品 {self.goods_01} 不存在")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
@ -3,13 +3,13 @@
|
|||||||
# @Author:: Arthur Wu
|
# @Author:: Arthur Wu
|
||||||
# @Description:: 游客登录,加购2个会员商品,退购一个,并结算
|
# @Description:: 游客登录,加购2个会员商品,退购一个,并结算
|
||||||
# @Date:: 2024/11/20
|
# @Date:: 2024/11/20
|
||||||
import unittest,allure,time,pytest
|
import unittest,allure,time,pytest,ddt
|
||||||
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.WuShangSceneTestData import *
|
from configs.globalParams import DataInit
|
||||||
|
|
||||||
|
|
||||||
DescName = "Anon010-非会员,加购2个会员商品,退购一个,并结算"
|
DescName = "Anon010-非会员,加购2个会员商品,退购一个,并结算"
|
||||||
|
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CAnon010(unittest.TestCase):
|
class Test_CAnon010(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/20
|
f'''@Date:: 2024/11/20
|
||||||
@ -18,46 +18,65 @@ class Test_CAnon010(unittest.TestCase):
|
|||||||
[购物车客户端] {DescName}
|
[购物车客户端] {DescName}
|
||||||
1、武商测试环境,2个会员商品 inputcode 分别为:
|
1、武商测试环境,2个会员商品 inputcode 分别为:
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
@ddt.data(*DataInit)
|
||||||
self.timestamp = int(time.time())
|
def test_CAnon010_ReturnOfMemberProducts(self, data):
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.vip_goods_01 = VipGoodsInputcode
|
|
||||||
self.vip_goods_02 = VipGoodsInputcode02
|
|
||||||
|
|
||||||
def test_CAnon010_ReturnOfMemberProducts(self):
|
|
||||||
allure.dynamic.description(f"描述:{DescName}")
|
allure.dynamic.description(f"描述:{DescName}")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
vip_goods_01 = data["VipGoods"]["goods01"]
|
||||||
|
vip_goods_02 = data["VipGoods"]["goods02"]
|
||||||
|
|
||||||
allure.step("步骤1:session开始")
|
allure.step("步骤1:session开始")
|
||||||
self.ymc.session_start()
|
ymc.session_start()
|
||||||
allure.step("步骤2:匿名登录")
|
allure.step("步骤2:匿名登录")
|
||||||
Payload01 = {"action": 0, "isAnon": True}
|
Payload01 = {"action": 0, "isAnon": True}
|
||||||
LoginData = self.ymc.login_app_v2(Payload01)
|
LoginData = ymc.login_app_v2(Payload01)
|
||||||
'''step1:加购商品x,分别加购x件'''
|
'''step1:加购商品x,分别加购x件'''
|
||||||
allure.step("步骤3:获取商品1信息")
|
allure.step("步骤3:获取商品1信息")
|
||||||
GetGoodsInfoResp_01 = self.ymc.get_goods_info(InputCode=self.vip_goods_01)
|
GetGoodsInfoResp_01 = ymc.get_goods_info(InputCode=vip_goods_01)
|
||||||
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤4:添加商品1")
|
allure.step("步骤4:添加商品1")
|
||||||
self.ymc.add_cart_goods(GetGoodsInfoResp_01, 3, LoginData)
|
add_goods_dict = {}
|
||||||
|
AddGoodsResp_01 = ymc.add_cart_goods(GetGoodsInfoResp_01, 2, LoginData)
|
||||||
|
add_goods_dict[AddGoodsResp_01["data"]["orderItemList"][0]["inputCode"]] = AddGoodsResp_01["data"]["orderItemList"][0]["qty"]
|
||||||
|
|
||||||
allure.step("步骤5:获取商品2信息")
|
allure.step("步骤5:获取商品2信息")
|
||||||
GetGoodsInfoResp_02 = self.ymc.get_goods_info(InputCode=self.vip_goods_02)
|
GetGoodsInfoResp_02 = ymc.get_goods_info(InputCode=vip_goods_02)
|
||||||
if GetGoodsInfoResp_02['msg'] != '加购商品不存在':
|
if GetGoodsInfoResp_02['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤6:添加商品2")
|
allure.step("步骤6:添加商品2")
|
||||||
AddGoodsResp = self.ymc.add_cart_goods(GetGoodsInfoResp_02, 1, LoginData)
|
AddGoodsResp_02 = ymc.add_cart_goods(GetGoodsInfoResp_02, 1, LoginData)
|
||||||
|
add_goods_dict[AddGoodsResp_02["data"]["orderItemList"][0]["inputCode"]] = AddGoodsResp_02["data"]["orderItemList"][0]["qty"]
|
||||||
|
LOGGER.info(f"---添加的商品Inputcode和数量为:{add_goods_dict}\n")
|
||||||
|
|
||||||
''' step2:随机退购一个商品,并结算 '''
|
''' step2:随机退购一个商品,并结算 '''
|
||||||
allure.step("\n步骤7:退购一件商品")
|
allure.step("\n步骤7:退购一件商品")
|
||||||
GetGoodsInfoList = [GetGoodsInfoResp_01, GetGoodsInfoResp_02]
|
GetGoodsInfoList = [GetGoodsInfoResp_01, GetGoodsInfoResp_02]
|
||||||
self.ymc.delete_cart_goods(GetGoodsInfoList, LoginData, AddGoodsResp)
|
AddGoodsResp_List = [AddGoodsResp_01, AddGoodsResp_02]
|
||||||
|
delpayload = ymc.delete_cart_goods(GetGoodsInfoList, LoginData, AddGoodsResp_List)
|
||||||
|
delgoods_dict = {}
|
||||||
|
delgoods_dict[delpayload['deleteGoods'][0]['inputCode']] = delpayload['deleteGoods'][0]['qty']
|
||||||
|
LOGGER.info(f"---退购商品Inputcode和数量为:{delgoods_dict}\n")
|
||||||
|
|
||||||
|
# 刷新购物车商品数量:GoodsInfoData["data"]["qty"]
|
||||||
|
AddGoodsInfoAfterDel = {}
|
||||||
|
for k,v in add_goods_dict.items():
|
||||||
|
for k2,v2 in delgoods_dict.items():
|
||||||
|
if k == k2:
|
||||||
|
AddGoodsInfoAfterDel[k] = v - v2
|
||||||
|
LOGGER.info(f"---退购商品后,剩余商品及其数量为:{AddGoodsInfoAfterDel}\n")
|
||||||
|
|
||||||
|
cart_goods_info = [GetGoodsInfoResp_01, GetGoodsInfoResp_02]
|
||||||
|
for goods_info in cart_goods_info:
|
||||||
|
if goods_info['data']['inputCode'] in AddGoodsInfoAfterDel.keys():
|
||||||
|
goods_info['data']['qty'] = AddGoodsInfoAfterDel[goods_info['data']['inputCode']]
|
||||||
|
|
||||||
allure.step("步骤8:获取购物车商品信息")
|
allure.step("步骤8:获取购物车商品信息")
|
||||||
self.ymc.get_cart_goods_info([GetGoodsInfoResp_01, GetGoodsInfoResp_02])
|
ymc.get_cart_goods_info(cart_goods_info)
|
||||||
allure.step("步骤9:请求订单结算")
|
allure.step("步骤9:请求订单结算")
|
||||||
self.ymc.request_order_settlement(LoginData)
|
ymc.request_order_settlement(LoginData)
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---商品 {self.vip_goods_02} 不存在")
|
pytest.fail(f"---商品 {vip_goods_02} 不存在")
|
||||||
pytest.fail(f"---商品 {self.vip_goods_02} 不存在")
|
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---商品 {self.vip_goods_01} 不存在")
|
pytest.fail(f"---商品 {vip_goods_01} 不存在")
|
||||||
pytest.fail(f"---商品 {self.vip_goods_01} 不存在")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
62
YiMao/scripts/BusiScenarios/test_CVip019_ReceiveCoupon.py
Normal file
62
YiMao/scripts/BusiScenarios/test_CVip019_ReceiveCoupon.py
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
# !/usr/bin/python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# @Author:: Arthur Wu
|
||||||
|
# @Description:: 匿名转会员登录,领取优惠券
|
||||||
|
# @Date:: 2024/11/25
|
||||||
|
import unittest,allure,time,pytest,ddt
|
||||||
|
from configs.globalObj import LOGGER
|
||||||
|
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||||
|
from configs.globalParams import DataInit
|
||||||
|
DescName = "Vip019-匿名转会员登录,领取优惠券"
|
||||||
|
@ddt.ddt
|
||||||
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
|
class Test_CVip019(unittest.TestCase):
|
||||||
|
f'''@Date:: 2024/11/25
|
||||||
|
@Author:: Arthur Wu
|
||||||
|
@Desc::
|
||||||
|
[购物车客户端] {DescName}
|
||||||
|
'''
|
||||||
|
@ddt.data(*DataInit)
|
||||||
|
def test_CVip019_ReceiveCoupon(self, data):
|
||||||
|
allure.dynamic.description(f"描述:{DescName}\n")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
vip_phone_num = data["VIPPhoneNumber"]
|
||||||
|
goodsbag_mid = data["ShoppingBag"]["mid"]
|
||||||
|
goodsbag_max = data["ShoppingBag"]["max"]
|
||||||
|
|
||||||
|
allure.step("步骤1:session开始")
|
||||||
|
ymc.session_start()
|
||||||
|
allure.step("步骤2:匿名登录")
|
||||||
|
Payload01 = {"action": 0, "isAnon": True}
|
||||||
|
LoginData = ymc.login_app_v2(Payload01)
|
||||||
|
|
||||||
|
allure.step("步骤3:切换会员登录")
|
||||||
|
Payload02 = {"action": 1, "code": vip_phone_num, "isAnon": False}
|
||||||
|
ymc.login_app_v2(Payload02)
|
||||||
|
|
||||||
|
allure.step("步骤4:领取优惠券")
|
||||||
|
CouponListData = ymc.get_coupon_list() # step6:获取优惠券列表
|
||||||
|
ymc.receive_coupon(CouponListData) # step7:领取优惠券
|
||||||
|
ymc.query_coupon_list_user() # step8:查询用户持有的优惠券列表
|
||||||
|
|
||||||
|
allure.step("步骤5:加购可享优惠券优惠的商品,并结算")
|
||||||
|
GoodsInfoData = ymc.get_goods_info(goodsbag_mid)
|
||||||
|
|
||||||
|
if GoodsInfoData['msg'] != '加购商品不存在':
|
||||||
|
allure.step("步骤6:添加购物袋")
|
||||||
|
AddPurchaseQuantity = 5
|
||||||
|
ymc.add_cart_goods(GoodsInfoData, AddPurchaseQuantity, LoginData)
|
||||||
|
GoodsInfoData["data"]["qty"] = AddPurchaseQuantity
|
||||||
|
allure.step("步骤7:获取购物车商品信息")
|
||||||
|
ymc.get_cart_goods_info([GoodsInfoData])
|
||||||
|
allure.step("步骤8:请求订单结算")
|
||||||
|
ymc.request_order_settlement(LoginData)
|
||||||
|
else:
|
||||||
|
LOGGER.info(f"---购物袋 {goodsbag_mid} 不存在")
|
||||||
|
pytest.fail(f"购物袋 {goodsbag_mid} 不存在")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main(verbosity=2)
|
@ -44,3 +44,6 @@ class Common():
|
|||||||
return str(timestamp_milliseconds)
|
return str(timestamp_milliseconds)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -98,8 +98,8 @@ class NotificationModule():
|
|||||||
"Debug": "7aedbee7239870e3e653748a2889d8bf063c61efa9213c7099bd57476066dc86",
|
"Debug": "7aedbee7239870e3e653748a2889d8bf063c61efa9213c7099bd57476066dc86",
|
||||||
"Formal": "80b026022a28166cfc9eebaf8f6a880cc06f56a14b8803e8d67e7fb3cb05844e"
|
"Formal": "80b026022a28166cfc9eebaf8f6a880cc06f56a14b8803e8d67e7fb3cb05844e"
|
||||||
}
|
}
|
||||||
# self.urlInfo = datainfo["Domain"] + datainfo["Debug"]
|
self.urlInfo = datainfo["Domain"] + datainfo["Debug"]
|
||||||
self.urlInfo = datainfo["Domain"] + datainfo["Formal"]
|
# self.urlInfo = datainfo["Domain"] + datainfo["Formal"]
|
||||||
self.ReportUrl = ProCfgData["ReportsURL"]
|
self.ReportUrl = ProCfgData["ReportsURL"]
|
||||||
self.ExecutionEnvironment = ProCfgData["ExecutionEnv"]
|
self.ExecutionEnvironment = ProCfgData["ExecutionEnv"]
|
||||||
|
|
||||||
|
@ -13,7 +13,20 @@ class YamlHandler():
|
|||||||
return yaml.load(f.read(), Loader=yaml.FullLoader)
|
return yaml.load(f.read(), Loader=yaml.FullLoader)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print("ERROR: read yaml file error::".format(e))
|
print("ERROR: read yaml file error::".format(e))
|
||||||
return 'failed to read avata autotest config file.'
|
return 'failed to read config file.'
|
||||||
|
|
||||||
|
def read_some_yamls(self, YamlFilePathsList, encoding='utf-8'):
|
||||||
|
try:
|
||||||
|
result = []
|
||||||
|
for YamlFilePath in YamlFilePathsList:
|
||||||
|
with open(YamlFilePath, encoding=encoding) as f:
|
||||||
|
data = yaml.load(f.read(), Loader=yaml.FullLoader)
|
||||||
|
result.append(data)
|
||||||
|
return result
|
||||||
|
except Exception as e:
|
||||||
|
print("ERROR: read some yaml files error::".format(e))
|
||||||
|
return 'failed to read config file.'
|
||||||
|
|
||||||
|
|
||||||
class ReadExcel(object):
|
class ReadExcel(object):
|
||||||
'''@Author:: Arthur Wu
|
'''@Author:: Arthur Wu
|
||||||
|
@ -10,3 +10,6 @@ ExecutionScope: YMBusiScenarios
|
|||||||
# 3-Reports URL
|
# 3-Reports URL
|
||||||
ReportsURL: http://192.168.1.165
|
ReportsURL: http://192.168.1.165
|
||||||
|
|
||||||
|
# 4-联测测试的商超列表: WuShang\ZhongBai\YongHui\JiajiaYue
|
||||||
|
MarketsArray:
|
||||||
|
- ZhongBai
|
@ -4,8 +4,6 @@ import os,datetime,time
|
|||||||
from datetime import datetime,timedelta
|
from datetime import datetime,timedelta
|
||||||
from commons.FileHandler import YamlHandler as yam
|
from commons.FileHandler import YamlHandler as yam
|
||||||
from commons.SignatureYM import SignatureYM
|
from commons.SignatureYM import SignatureYM
|
||||||
|
|
||||||
|
|
||||||
__RootPath = os.path.dirname(os.path.dirname(__file__)).replace("\\", "/")
|
__RootPath = os.path.dirname(os.path.dirname(__file__)).replace("\\", "/")
|
||||||
__YamlFilePath = os.path.join(__RootPath, "configs/Configs.yaml").replace("\\", "/")
|
__YamlFilePath = os.path.join(__RootPath, "configs/Configs.yaml").replace("\\", "/")
|
||||||
ProCfgData = yam().read_yaml(__YamlFilePath)
|
ProCfgData = yam().read_yaml(__YamlFilePath)
|
||||||
@ -29,7 +27,16 @@ GlobalParams = {
|
|||||||
"todayDateAdd4": (datetime.now() + timedelta(days=4)).strftime('%Y-%m-%d'),
|
"todayDateAdd4": (datetime.now() + timedelta(days=4)).strftime('%Y-%m-%d'),
|
||||||
"todayDateAdd5": (datetime.now() + timedelta(days=5)).strftime('%Y-%m-%d'),
|
"todayDateAdd5": (datetime.now() + timedelta(days=5)).strftime('%Y-%m-%d'),
|
||||||
}
|
}
|
||||||
|
def __data_init():
|
||||||
|
DataList = []
|
||||||
|
for fn in ProCfgData["MarketsArray"]:
|
||||||
|
FP = os.path.join(GlobalPath["YMDataPath"], fn+".yaml").replace("\\", "/")
|
||||||
|
print(f"---market scene test data file path: {FP}---")
|
||||||
|
data = yam().read_yaml(FP)
|
||||||
|
DataList.append(data)
|
||||||
|
return DataList
|
||||||
|
DataInit = __data_init()
|
||||||
|
print(f"---DataInit: {DataInit}")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user