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")
|
||||
return response.json()
|
||||
|
||||
def delete_cart_goods(self, GetGoodsInfoList, LoginData, AddGoodsResp):
|
||||
def delete_cart_goods(self, GetGoodsInfoList, LoginData, AddGoodsRespList):
|
||||
''' 退购 商品
|
||||
:param GetGoodsInfoList:
|
||||
:param LoginData:
|
||||
@ -114,7 +114,9 @@ class YMClientApi(object):
|
||||
import random
|
||||
logging.info("========== [退购 商品] delete_cart_goods ==========")
|
||||
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["inputCode"] = add_goods_info["inputCode"]
|
||||
exist_goods_dict["isNormalAddPurchase"] = True
|
||||
@ -130,6 +132,12 @@ class YMClientApi(object):
|
||||
existGoodsList.append(exist_goods_dict)
|
||||
|
||||
del_goods_dict = {}
|
||||
delGoodsInfo = {
|
||||
"inputCode": "",
|
||||
"isNormalAddPurchase": True,
|
||||
"qty": 1,
|
||||
"weight": 0,
|
||||
}
|
||||
delGoodsInfo = random.choice(GetGoodsInfoList)
|
||||
del_goods_dict["inputCode"] = delGoodsInfo["data"]["inputCode"]
|
||||
del_goods_dict["isNormalAddPurchase"] = True
|
||||
@ -148,11 +156,13 @@ class YMClientApi(object):
|
||||
"existGoods": existGoodsList,
|
||||
"orderNo": LoginData["data"][0]["orderNo"]
|
||||
})
|
||||
logging.info(f"-----------退购商品请求体为:{payload}\n")
|
||||
url = self.Domain + "/v2/shopping/add/retire/purchase"
|
||||
response = requests.request("POST", url, headers=self.headerss, data=payload)
|
||||
logging.info(f"-----------接口返回状态码:{response.status_code}")
|
||||
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):
|
||||
''' 退购 购物嗲
|
||||
@ -240,14 +250,14 @@ class YMClientApi(object):
|
||||
|
||||
def get_cart_goods_info(self, GoodsDataList):
|
||||
logging.info("========== [获取购物车商品信息] get_cart_goods_info ==========")
|
||||
goods_param_lList = []
|
||||
goods_param_list = []
|
||||
for goods_data in GoodsDataList:
|
||||
goods_dict = {}
|
||||
goods_dict["inputCode"] = goods_data["data"]["inputCode"]
|
||||
goods_dict["qty"] = int(float((goods_data["data"]["qty"])))
|
||||
goods_dict["weight"] = int(goods_data["data"]["weight"])
|
||||
goods_param_lList.append(goods_dict)
|
||||
payload = json.dumps({"goodsParamList": goods_param_lList}, indent=4, ensure_ascii=False)
|
||||
goods_param_list.append(goods_dict)
|
||||
payload = json.dumps({"goodsParamList": goods_param_list}, indent=4, ensure_ascii=False)
|
||||
logging.info(f"-----------请求体为:{payload}")
|
||||
url = self.Domain+"/v2/shopping/cart/goods/info"
|
||||
response = requests.request("POST", url, headers=self.headerss, data=payload)
|
||||
@ -295,6 +305,7 @@ if __name__ == '__main__':
|
||||
ymc.login_app_v2(Payload02) # step4:切换会员登录
|
||||
|
||||
GoodsInfoData = ymc.get_goods_info(InputCode=6924882486100) # step5:获取商品信息 ------ 6924882486100
|
||||
|
||||
CouponListData = ymc.get_coupon_list() # step6:获取优惠券列表
|
||||
ymc.receive_coupon(CouponListData) # step7:领取优惠券
|
||||
ymc.query_coupon_list_user() # step8:查询用户持有的优惠券列表
|
||||
|
@ -110,6 +110,40 @@ class YMServiceApi(object):
|
||||
logging.info(f"---接口返回状态码为:: {response.status_code}")
|
||||
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):
|
||||
logging.info("========== [审核通过异常商品] ==========")
|
||||
auth_token_b = self.headerss["Authorization"]
|
||||
@ -198,4 +232,9 @@ if __name__ == '__main__':
|
||||
yms = YMServiceApi()
|
||||
GoodsInfo = {"GoodsInputcode": "6924743915848"}
|
||||
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
|
||||
# @Date:: 2024/11/18-9:38
|
||||
# @Description::
|
||||
import unittest,allure,time,pytest
|
||||
from configs.globalObj import LOGGER
|
||||
import unittest,allure,time,pytest,ddt
|
||||
from configs.globalParams import DataInit
|
||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||
from YiMao.data.WuShangSceneTestData import *
|
||||
|
||||
|
||||
DescName = "Anon001-非会员加购购物袋并试算"
|
||||
|
||||
@ddt.ddt
|
||||
@allure.story(f'[场景测试] {DescName}验证')
|
||||
class Test_CAnon001_AddShoppingBagAndSettlePayment(unittest.TestCase):
|
||||
f'''@Date:: 2024/11/15
|
||||
@ -19,51 +18,51 @@ class Test_CAnon001_AddShoppingBagAndSettlePayment(unittest.TestCase):
|
||||
1、武商测试环境,购物袋inputcode为:
|
||||
6971648922990、6971648922983
|
||||
'''
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.goodsbag_mid = GoodsBagInputcode_mid
|
||||
self.goodsbag_max = GoodsBagInputcode_max
|
||||
|
||||
def test_CAnon00101_AddMidShoppingbagsForPurchase(self):
|
||||
@ddt.data(*DataInit)
|
||||
def test_CAnon00101_AddMidShoppingbagsForPurchase(self, data):
|
||||
allure.dynamic.description(f"描述:加购中号购物袋")
|
||||
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:获取商品信息")
|
||||
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} 不存在")
|
||||
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||
goodsbag_mid = data["ShoppingBag"]["mid"]
|
||||
|
||||
def test_CAnon00102_AddMaxShoppingbagsForPurchase(self):
|
||||
allure.dynamic.description("描述:加购大号购物袋")
|
||||
allure.step("步骤1:session开始")
|
||||
self.ymc.session_start()
|
||||
ymc.session_start()
|
||||
allure.step("步骤2:匿名登录")
|
||||
Payload01 = {"action": 0, "isAnon": True}
|
||||
LoginData = self.ymc.login_app_v2(Payload01)
|
||||
LoginData = ymc.login_app_v2(Payload01)
|
||||
allure.step("步骤3:获取商品信息")
|
||||
GoodsInfoData = self.ymc.get_goods_info(self.goodsbag_max)
|
||||
GoodsInfoData = ymc.get_goods_info(goodsbag_mid)
|
||||
if GoodsInfoData['msg'] != '加购商品不存在':
|
||||
allure.step("步骤4:添加购物袋")
|
||||
self.ymc.add_cart_goods(GoodsInfoData, 2, LoginData)
|
||||
ymc.add_cart_goods(GoodsInfoData, 2, LoginData)
|
||||
allure.step("步骤5:获取购物车商品信息")
|
||||
self.ymc.get_cart_goods_info([GoodsInfoData])
|
||||
ymc.get_cart_goods_info([GoodsInfoData])
|
||||
allure.step("步骤6:请求订单结算")
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---购物袋 {self.goodsbag_max} 不存在")
|
||||
pytest.fail(f"购物袋 {self.goodsbag_mid} 不存在")
|
||||
pytest.fail(f"购物袋 {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__':
|
||||
|
@ -3,13 +3,12 @@
|
||||
# @Author:: Arthur Wu
|
||||
# @Date:: 2024/11/18-10:49
|
||||
# @Description:: 游客登录,加购无优惠普通商品并结算
|
||||
import unittest,allure,time,pytest
|
||||
from configs.globalObj import LOGGER
|
||||
import unittest,allure,time,pytest,ddt
|
||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||
from YiMao.data.WuShangSceneTestData import *
|
||||
|
||||
|
||||
from configs.globalParams import DataInit
|
||||
DescName = "Anon002-非会员加购无优惠商品并试算"
|
||||
|
||||
@ddt.ddt
|
||||
@allure.story(f'[场景测试] {DescName}验证')
|
||||
class Test_CAnon002(unittest.TestCase):
|
||||
f'''@Date:: 2024/11/15
|
||||
@ -19,30 +18,28 @@ class Test_CAnon002(unittest.TestCase):
|
||||
1、武商测试环境,普通无优惠商品inputcode为:
|
||||
6924743915848
|
||||
'''
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.NormalGoodsInputcode01 = NormalGoodsInputcode01
|
||||
|
||||
def test_CAnon002_AddNonDiscountedProductsForPurchase(self):
|
||||
@ddt.data(*DataInit)
|
||||
def test_CAnon002_AddNonDiscountedProductsForPurchase(self, data):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||
NormalGoodsInputcode01 = data["NormalGoods"]["goods01"]
|
||||
|
||||
allure.step("步骤1:session开始")
|
||||
self.ymc.session_start()
|
||||
ymc.session_start()
|
||||
allure.step("步骤2:匿名登录")
|
||||
Payload01 = {"action": 0, "isAnon": True}
|
||||
LoginData = self.ymc.login_app_v2(Payload01)
|
||||
LoginData = ymc.login_app_v2(Payload01)
|
||||
allure.step("步骤3:获取商品信息")
|
||||
GoodsInfoData = self.ymc.get_goods_info(InputCode=self.NormalGoodsInputcode01)
|
||||
GoodsInfoData = ymc.get_goods_info(InputCode=NormalGoodsInputcode01)
|
||||
if GoodsInfoData['msg'] != '加购商品不存在':
|
||||
allure.step("步骤4:添加无优惠商品")
|
||||
self.ymc.add_cart_goods(GoodsInfoData, 5, LoginData)
|
||||
ymc.add_cart_goods(GoodsInfoData, 5, LoginData)
|
||||
allure.step("步骤5:获取购物车商品信息")
|
||||
self.ymc.get_cart_goods_info([GoodsInfoData])
|
||||
ymc.get_cart_goods_info([GoodsInfoData])
|
||||
allure.step("步骤6:请求订单结算")
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.NormalGoodsInputcode01} 不存在")
|
||||
pytest.fail(f"商品 {self.NormalGoodsInputcode01} 不存在")
|
||||
pytest.fail(f"商品 {NormalGoodsInputcode01} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -3,46 +3,41 @@
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 游客登录,加购会员商品并结算
|
||||
# @Date:: 2021-05-10 16:30:23
|
||||
import unittest,allure,time,pytest
|
||||
from configs.globalObj import LOGGER
|
||||
import unittest,allure,time,pytest,ddt
|
||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||
from YiMao.data.WuShangSceneTestData import *
|
||||
|
||||
|
||||
from configs.globalParams import DataInit
|
||||
DescName = "Anon003-非会员加购会员商品并结算"
|
||||
|
||||
@ddt.ddt
|
||||
@allure.story(f'[场景测试] {DescName}验证')
|
||||
class Test_CAnon003(unittest.TestCase):
|
||||
f'''@Date:: 2024/11/15
|
||||
@Author:: Arthur Wu
|
||||
@Desc::
|
||||
[购物车客户端] {DescName}
|
||||
1、武商测试环境,会员有优惠商品inputcode为:
|
||||
!!!!会员有优惠商品暂未提供
|
||||
'''
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.vip_goods_inputcode = VipGoodsInputcode
|
||||
|
||||
def test_CAnon003_AddMemberProductsForPurchase(self):
|
||||
@ddt.data(*DataInit)
|
||||
def test_CAnon003_AddMemberProductsForPurchase(self, data):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||
vip_goods_inputcode = data["VipGoods"]["goods01"]
|
||||
|
||||
allure.step("步骤1:session开始")
|
||||
self.ymc.session_start()
|
||||
ymc.session_start()
|
||||
allure.step("步骤2:匿名登录")
|
||||
Payload01 = {"action": 0, "isAnon": True}
|
||||
LoginData = self.ymc.login_app_v2(Payload01)
|
||||
LoginData = ymc.login_app_v2(Payload01)
|
||||
allure.step("步骤3:获取商品信息")
|
||||
GoodsInfoData = self.ymc.get_goods_info(self.vip_goods_inputcode)
|
||||
GoodsInfoData = ymc.get_goods_info(vip_goods_inputcode)
|
||||
if GoodsInfoData['msg'] != '加购商品不存在':
|
||||
allure.step("步骤4:添加会员有优惠商品")
|
||||
self.ymc.add_cart_goods(GoodsInfoData, 1, LoginData)
|
||||
ymc.add_cart_goods(GoodsInfoData, 1, LoginData)
|
||||
allure.step("步骤5:获取购物车商品信息")
|
||||
self.ymc.get_cart_goods_info([GoodsInfoData])
|
||||
ymc.get_cart_goods_info([GoodsInfoData])
|
||||
allure.step("步骤6:请求订单结算")
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.vip_goods_inputcode} 不存在")
|
||||
pytest.fail(f"商品 {self.vip_goods_inputcode} 不存在")
|
||||
pytest.fail(f"商品 {vip_goods_inputcode} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -3,13 +3,12 @@
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 游客登录,加购多件商品并结算
|
||||
# @Date:: 2021-05-10 16:30:23
|
||||
import unittest,allure,time,pytest
|
||||
from configs.globalObj import LOGGER
|
||||
import unittest,allure,time,pytest,ddt
|
||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||
from YiMao.data.WuShangSceneTestData import *
|
||||
|
||||
|
||||
from configs.globalParams import DataInit
|
||||
DescName = "Anon004-非会员加购多件商品并结算"
|
||||
|
||||
@ddt.ddt
|
||||
@allure.story(f'[场景测试] {DescName}验证')
|
||||
class Test_CAnon004(unittest.TestCase):
|
||||
f'''@Date:: 2024/11/15
|
||||
@ -18,39 +17,36 @@ class Test_CAnon004(unittest.TestCase):
|
||||
[购物车客户端] {DescName}
|
||||
1、武商测试环境,多件商品的 inputcode 分别为:
|
||||
'''
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.goods_inputcode1 = NormalGoodsInputcode01
|
||||
self.goods_inputcode2 = NormalGoodsInputcode02
|
||||
|
||||
def test_CAnon004_AddMultipleItemsForPurchase(self):
|
||||
@ddt.data(*DataInit)
|
||||
def test_CAnon004_AddMultipleItemsForPurchase(self, data):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||
goods_inputcode1 = data["NormalGoods"]["goods01"]
|
||||
goods_inputcode2 = data["NormalGoods"]["goods02"]
|
||||
|
||||
allure.step("步骤1:session开始")
|
||||
self.ymc.session_start()
|
||||
ymc.session_start()
|
||||
allure.step("步骤2:匿名登录")
|
||||
Payload01 = {"action": 0, "isAnon": True}
|
||||
LoginData = self.ymc.login_app_v2(Payload01)
|
||||
LoginData = ymc.login_app_v2(Payload01)
|
||||
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'] != '加购商品不存在':
|
||||
allure.step("步骤4:添加商品1")
|
||||
self.ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
|
||||
ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
|
||||
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'] != '加购商品不存在':
|
||||
allure.step("步骤6:添加商品2")
|
||||
self.ymc.add_cart_goods(GoodsInfoData2, 1, LoginData)
|
||||
ymc.add_cart_goods(GoodsInfoData2, 1, LoginData)
|
||||
allure.step("步骤7:获取购物车商品信息")
|
||||
self.ymc.get_cart_goods_info([GoodsInfoData1, GoodsInfoData2])
|
||||
ymc.get_cart_goods_info([GoodsInfoData1, GoodsInfoData2])
|
||||
allure.step("步骤8:请求订单结算")
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.goods_inputcode2} 不存在")
|
||||
pytest.fail(f"商品 {self.goods_inputcode2} 不存在")
|
||||
pytest.fail(f"商品 {goods_inputcode2} 不存在")
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.goods_inputcode1} 不存在")
|
||||
pytest.fail(f"商品 {self.goods_inputcode1} 不存在")
|
||||
pytest.fail(f"商品 {goods_inputcode1} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -3,13 +3,12 @@
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 游客登录,加购打折商品并结算
|
||||
# @Date:: 2021-05-10 16:30:22
|
||||
import unittest,allure,time,pytest
|
||||
from configs.globalObj import LOGGER
|
||||
import unittest,allure,time,pytest,ddt
|
||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||
from YiMao.data.WuShangSceneTestData import *
|
||||
|
||||
|
||||
from configs.globalParams import DataInit
|
||||
DescName = "Anon005-非会员加购打折商品并结算"
|
||||
|
||||
@ddt.ddt
|
||||
@allure.story(f'[场景测试] {DescName}验证')
|
||||
class Test_CAnon005(unittest.TestCase):
|
||||
f'''@Date:: 2024/11/15
|
||||
@ -19,30 +18,28 @@ class Test_CAnon005(unittest.TestCase):
|
||||
1、武商测试环境,会员有优惠商品inputcode为:
|
||||
!!!!折扣商品暂未提供
|
||||
'''
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.sale_goods_inputCode = SaleGoodsInputCode
|
||||
|
||||
def test_CAnon005_AddDiscountedProductsForPurchase(self):
|
||||
@ddt.data(*DataInit)
|
||||
def test_CAnon005_AddDiscountedProductsForPurchase(self, data):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||
sale_goods_inputCode = data["SaleGoods"]["goods01"]
|
||||
|
||||
allure.step("步骤1:session开始")
|
||||
self.ymc.session_start()
|
||||
ymc.session_start()
|
||||
allure.step("步骤2:匿名登录")
|
||||
Payload01 = {"action": 0, "isAnon": True}
|
||||
LoginData = self.ymc.login_app_v2(Payload01)
|
||||
LoginData = ymc.login_app_v2(Payload01)
|
||||
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'] != '加购商品不存在':
|
||||
allure.step("步骤4:加购折扣商品")
|
||||
self.ymc.add_cart_goods(GoodsInfoData, 1, LoginData)
|
||||
ymc.add_cart_goods(GoodsInfoData, 1, LoginData)
|
||||
allure.step("步骤5:获取购物车商品信息")
|
||||
self.ymc.get_cart_goods_info([GoodsInfoData])
|
||||
ymc.get_cart_goods_info([GoodsInfoData])
|
||||
allure.step("步骤6:请求订单结算")
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.sale_goods_inputCode} 不存在")
|
||||
pytest.fail(f"---商品 {self.sale_goods_inputCode} 不存在")
|
||||
pytest.fail(f"---商品 {sale_goods_inputCode} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -3,14 +3,13 @@
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 游客登录,加购促销白名单商品并结算
|
||||
# @Date:: 2021-05-10 16:30:23
|
||||
import unittest,allure,time,pytest
|
||||
from configs.globalObj import LOGGER
|
||||
import unittest,allure,time,pytest,ddt
|
||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||
from YiMao.businessFunc.ServiceApiLib import YMServiceApi
|
||||
from YiMao.data.WuShangSceneTestData import *
|
||||
|
||||
|
||||
from configs.globalParams import DataInit
|
||||
DescName = "Anon006-非会员加购促销白名单商品并结算"
|
||||
|
||||
@ddt.ddt
|
||||
@allure.story(f'[场景测试] {DescName}验证')
|
||||
class Test_CAnon006(unittest.TestCase):
|
||||
f'''@Date:: 2024/11/15
|
||||
@ -20,50 +19,45 @@ class Test_CAnon006(unittest.TestCase):
|
||||
1、武商测试环境,促销白名单商品inputcode为:
|
||||
6925303796426
|
||||
'''
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.yms = YMServiceApi()
|
||||
self.promotional_whitelist_goods = PromotionalWhitelistGoods
|
||||
self.market_and_store_info = {
|
||||
"MarketId": MarketAndStoreDetails["putMarketId"],
|
||||
"StoreId": MarketAndStoreDetails["putStoreId"][0]
|
||||
@ddt.data(*DataInit)
|
||||
def test_CAnon006_AddPromotionalWhitelistProducts(self, data):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||
yms = YMServiceApi()
|
||||
promotional_whitelist_goods = data["PromotionalWhitelistGoods"]
|
||||
market_and_store_info = {
|
||||
"MarketId": data["MarketAndStoreDetails"]['putMarketId'],
|
||||
"StoreId": data["MarketAndStoreDetails"]['putStoreId'][0]
|
||||
}
|
||||
|
||||
def test_CAnon006_AddPromotionalWhitelistProducts(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
allure.step("[前置条件]:先调用管理平台接口,将指定商品添加到促销白名单中")
|
||||
pre_respomse = self.yms.add_promotional_product_whitelist(
|
||||
self.promotional_whitelist_goods, self.market_and_store_info
|
||||
pre_respomse = yms.add_promotional_product_whitelist(
|
||||
promotional_whitelist_goods, market_and_store_info
|
||||
)
|
||||
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()
|
||||
ymc.session_start()
|
||||
allure.step("步骤2:匿名登录")
|
||||
Payload01 = {"action": 0, "isAnon": True}
|
||||
LoginData = self.ymc.login_app_v2(Payload01)
|
||||
LoginData = ymc.login_app_v2(Payload01)
|
||||
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'] != '加购商品不存在':
|
||||
allure.step("步骤4:加购白名单商品")
|
||||
self.ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
|
||||
ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
|
||||
allure.step("步骤5:获取购物车商品信息")
|
||||
self.ymc.get_cart_goods_info([GoodsInfoData1])
|
||||
ymc.get_cart_goods_info([GoodsInfoData1])
|
||||
allure.step("步骤6:请求订单结算")
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
ymc.request_order_settlement(LoginData)
|
||||
allure.step("[后置处理]:删除添加的促销白名单商品")
|
||||
yms.delete_whitelist_goods()
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.promotional_whitelist_goods["GoodsInputcode"]} 不存在")
|
||||
pytest.fail(f"商品 {self.promotional_whitelist_goods["GoodsInputcode"]}不存在")
|
||||
|
||||
allure.step("[后置处理]:删除添加的促销白名单商品")
|
||||
self.yms.delete_whitelist_goods()
|
||||
allure.step("[后置处理]:删除添加的促销白名单商品")
|
||||
yms.delete_whitelist_goods()
|
||||
pytest.fail(f"商品 {promotional_whitelist_goods["GoodsInputcode"]}不存在")
|
||||
else:
|
||||
LOGGER.info(f"---添加商品 {self.promotional_whitelist_goods['GoodsInputcode']} "
|
||||
f"到促销白名单失败")
|
||||
pytest.fail(f"---添加商品 {self.promotional_whitelist_goods['GoodsInputcode']} "
|
||||
pytest.fail(f"---添加商品 {promotional_whitelist_goods['GoodsInputcode']} "
|
||||
f"到促销白名单失败")
|
||||
|
||||
|
||||
|
@ -3,14 +3,14 @@
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 游客登录,加购重量放通商品并结算
|
||||
# @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.ServiceApiLib import YMServiceApi
|
||||
from YiMao.data.WuShangSceneTestData import *
|
||||
|
||||
|
||||
from configs.globalParams import DataInit
|
||||
DescName = "Anon007-非会员加购重量放通商品并结算"
|
||||
|
||||
@ddt.ddt
|
||||
@allure.story(f'[场景测试] {DescName}验证')
|
||||
class Test_CAnon007(unittest.TestCase):
|
||||
f'''@Date:: 2024/11/15
|
||||
@ -20,51 +20,48 @@ class Test_CAnon007(unittest.TestCase):
|
||||
1、武商测试环境,重量放通商品inputcode为:
|
||||
6924743915848
|
||||
'''
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.yms = YMServiceApi()
|
||||
self.weight_to_whitelist_goods = WeightToWhitelistGoods
|
||||
self.market_and_store_info = {
|
||||
"MarketId": MarketAndStoreDetails["putMarketId"],
|
||||
"StoreId": MarketAndStoreDetails["putStoreId"][0]
|
||||
@ddt.data(*DataInit)
|
||||
def test_CAnon007_AddWeightToTheProduct(self, data):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||
yms = YMServiceApi()
|
||||
weight_to_whitelist_goods = data["WeightToWhitelistGoods"]
|
||||
market_and_store_info = {
|
||||
"MarketId": data["MarketAndStoreDetails"]['putMarketId'],
|
||||
"StoreId": data["MarketAndStoreDetails"]['putStoreId'][0]
|
||||
}
|
||||
|
||||
def test_CAnon007_AddWeightToTheProduct(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
allure.step("[前置条件]:先调用管理平台接口,将指定商品添加到重量放通白名单中")
|
||||
pre_respomse = self.yms.add_weight_to_whitelist(
|
||||
self.weight_to_whitelist_goods, self.market_and_store_info
|
||||
pre_respomse = yms.add_weight_to_whitelist(
|
||||
weight_to_whitelist_goods, market_and_store_info
|
||||
)
|
||||
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"已添加到重量放通白名单中")
|
||||
''' 2-再调用客户端接口,执行加购操作 '''
|
||||
allure.step("[业务步骤]:再调用客户端接口,执行加购操作")
|
||||
allure.step("步骤1:session开始")
|
||||
self.ymc.session_start()
|
||||
ymc.session_start()
|
||||
allure.step("步骤2:匿名登录")
|
||||
Payload01 = {"action": 0, "isAnon": True}
|
||||
LoginData = self.ymc.login_app_v2(Payload01)
|
||||
LoginData = ymc.login_app_v2(Payload01)
|
||||
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'] != '加购商品不存在':
|
||||
allure.step("步骤4:加购白名单商品")
|
||||
self.ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
|
||||
ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
|
||||
allure.step("步骤5:获取购物车商品信息")
|
||||
self.ymc.get_cart_goods_info([GoodsInfoData1])
|
||||
ymc.get_cart_goods_info([GoodsInfoData1])
|
||||
allure.step("步骤6:请求订单结算")
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
ymc.request_order_settlement(LoginData)
|
||||
allure.step("[后置处理]:删除添加的重量放通白名单商品")
|
||||
yms.delete_weight_whitelist_goods()
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.weight_to_whitelist_goods["GoodsInputcode"]} 不存在")
|
||||
pytest.fail(f"---商品 {self.weight_to_whitelist_goods["GoodsInputcode"]} 不存在")
|
||||
|
||||
allure.step("[后置处理]:删除添加的重量放通白名单商品")
|
||||
self.yms.delete_weight_whitelist_goods()
|
||||
allure.step("[后置处理]:删除添加的重量放通白名单商品")
|
||||
yms.delete_weight_whitelist_goods()
|
||||
pytest.fail(f"---商品 {weight_to_whitelist_goods["GoodsInputcode"]} 不存在")
|
||||
else:
|
||||
LOGGER.info(f"---添加商品 {self.weight_to_whitelist_goods['GoodsInputcode']} "
|
||||
f"到重量放通白名单失败")
|
||||
pytest.fail(f"---添加商品 {self.weight_to_whitelist_goods['GoodsInputcode']} "
|
||||
pytest.fail(f"---添加商品 {weight_to_whitelist_goods['GoodsInputcode']} "
|
||||
f"到重量放通白名单失败")
|
||||
|
||||
|
||||
|
@ -3,13 +3,12 @@
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 游客登录,加购2个购物袋,退购一个购物袋,并结算
|
||||
# @Date:: 2024/11/20
|
||||
import unittest,allure,time,pytest
|
||||
from configs.globalObj import LOGGER
|
||||
import unittest,allure,time,pytest,ddt
|
||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||
from YiMao.data.WuShangSceneTestData import *
|
||||
|
||||
|
||||
from configs.globalParams import DataInit
|
||||
DescName = "Anon008-非会员,加购2个购物袋,退购一个购物袋,并结算"
|
||||
|
||||
@ddt.ddt
|
||||
@allure.story(f'[场景测试] {DescName}验证')
|
||||
class Test_CAnon008(unittest.TestCase):
|
||||
f'''@Date:: 2024/11/20
|
||||
@ -18,46 +17,43 @@ class Test_CAnon008(unittest.TestCase):
|
||||
[购物车客户端] {DescName}
|
||||
1、武商测试环境,购物袋的 inputcode 分别为:
|
||||
'''
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.shoppingbag_mid = GoodsBagInputcode_mid
|
||||
self.shoppingbag_max = GoodsBagInputcode_max
|
||||
|
||||
def test_CAnon008_ReturnShoppingBag(self):
|
||||
@ddt.data(*DataInit)
|
||||
def test_CAnon008_ReturnShoppingBag(self, data):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||
shoppingbag_mid = data["ShoppingBag"]["mid"]
|
||||
shoppingbag_max = data["ShoppingBag"]["max"]
|
||||
|
||||
allure.step("步骤1:session开始")
|
||||
self.ymc.session_start()
|
||||
ymc.session_start()
|
||||
allure.step("步骤2:匿名登录")
|
||||
Payload01 = {"action": 0, "isAnon": True}
|
||||
LoginData = self.ymc.login_app_v2(Payload01)
|
||||
LoginData = ymc.login_app_v2(Payload01)
|
||||
'''step1:加购商品x,分别加购x件'''
|
||||
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'] != '加购商品不存在':
|
||||
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信息")
|
||||
GetGoodsInfoResp_02 = self.ymc.get_goods_info(InputCode=self.shoppingbag_max)
|
||||
GetGoodsInfoResp_02 = ymc.get_goods_info(InputCode=shoppingbag_max)
|
||||
if GetGoodsInfoResp_02['msg'] != '加购商品不存在':
|
||||
allure.step("步骤6:添加商品2")
|
||||
AddGoodsResp = self.ymc.add_cart_goods(GetGoodsInfoResp_02, 2, LoginData)
|
||||
AddGoodsResp = ymc.add_cart_goods(GetGoodsInfoResp_02, 2, LoginData)
|
||||
|
||||
''' step2:随机退购一个商品,并结算 '''
|
||||
allure.step("\n步骤7:退购一件商品")
|
||||
GetGoodsInfoList = [GetGoodsInfoResp_01, GetGoodsInfoResp_02]
|
||||
self.ymc.delete_shopping_bag(GetGoodsInfoList, LoginData, AddGoodsResp)
|
||||
ymc.delete_shopping_bag(GetGoodsInfoList, LoginData, AddGoodsResp)
|
||||
|
||||
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:请求订单结算")
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.shoppingbag_max} 不存在")
|
||||
pytest.fail(f"---商品 {self.shoppingbag_max} 不存在")
|
||||
pytest.fail(f"---商品 {shoppingbag_max} 不存在")
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.shoppingbag_mid} 不存在")
|
||||
pytest.fail(f"---商品 {self.shoppingbag_mid} 不存在")
|
||||
pytest.fail(f"---商品 {shoppingbag_mid} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -3,13 +3,12 @@
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 游客登录,加购2个普通商品,退购一个,并结算
|
||||
# @Date:: 2024/11/20
|
||||
import unittest,allure,time,pytest
|
||||
from configs.globalObj import LOGGER
|
||||
import unittest,allure,time,pytest,ddt
|
||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||
from YiMao.data.WuShangSceneTestData import *
|
||||
|
||||
|
||||
from configs.globalParams import DataInit
|
||||
DescName = "Anon009-非会员,加购2个普通商品,退购一个,并结算"
|
||||
|
||||
@ddt.ddt
|
||||
@allure.story(f'[场景测试] {DescName}验证')
|
||||
class Test_CAnon009(unittest.TestCase):
|
||||
f'''@Date:: 2024/11/20
|
||||
@ -18,46 +17,44 @@ class Test_CAnon009(unittest.TestCase):
|
||||
[购物车客户端] {DescName}
|
||||
1、武商测试环境,2个普通商品 inputcode 分别为:
|
||||
'''
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.goods_01 = NormalGoodsInputcode01
|
||||
self.goods_02 = NormalGoodsInputcode02
|
||||
|
||||
def test_CAnon009_ReturnPurchaseOfOrdinaryGoods(self):
|
||||
@ddt.data(*DataInit)
|
||||
def test_CAnon009_ReturnPurchaseOfOrdinaryGoods(self, data):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||
goods_01 = data["NormalGoods"]["goods01"]
|
||||
goods_02 = data["NormalGoods"]["goods02"]
|
||||
|
||||
allure.step("步骤1:session开始")
|
||||
self.ymc.session_start()
|
||||
ymc.session_start()
|
||||
allure.step("步骤2:匿名登录")
|
||||
Payload01 = {"action": 0, "isAnon": True}
|
||||
LoginData = self.ymc.login_app_v2(Payload01)
|
||||
LoginData = ymc.login_app_v2(Payload01)
|
||||
'''step1:加购商品x,分别加购x件'''
|
||||
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'] != '加购商品不存在':
|
||||
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信息")
|
||||
GetGoodsInfoResp_02 = self.ymc.get_goods_info(InputCode=self.goods_02)
|
||||
GetGoodsInfoResp_02 = ymc.get_goods_info(InputCode=goods_02)
|
||||
if GetGoodsInfoResp_02['msg'] != '加购商品不存在':
|
||||
allure.step("步骤6:添加商品2")
|
||||
AddGoodsResp = self.ymc.add_cart_goods(GetGoodsInfoResp_02, 1, LoginData)
|
||||
AddGoodsResp = ymc.add_cart_goods(GetGoodsInfoResp_02, 1, LoginData)
|
||||
|
||||
''' step2:随机退购一个商品,并结算 '''
|
||||
allure.step("\n步骤7:退购一件商品")
|
||||
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:获取购物车商品信息")
|
||||
self.ymc.get_cart_goods_info([GetGoodsInfoResp_01, GetGoodsInfoResp_02])
|
||||
ymc.get_cart_goods_info([GetGoodsInfoResp_01, GetGoodsInfoResp_02])
|
||||
allure.step("步骤9:请求订单结算")
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.goods_02} 不存在")
|
||||
pytest.fail(f"---商品 {self.goods_02} 不存在")
|
||||
pytest.fail(f"---商品 {goods_02} 不存在")
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.goods_01} 不存在")
|
||||
pytest.fail(f"---商品 {self.goods_01} 不存在")
|
||||
pytest.fail(f"---商品 {goods_01} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -3,13 +3,13 @@
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 游客登录,加购2个会员商品,退购一个,并结算
|
||||
# @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.data.WuShangSceneTestData import *
|
||||
|
||||
|
||||
from configs.globalParams import DataInit
|
||||
DescName = "Anon010-非会员,加购2个会员商品,退购一个,并结算"
|
||||
|
||||
@ddt.ddt
|
||||
@allure.story(f'[场景测试] {DescName}验证')
|
||||
class Test_CAnon010(unittest.TestCase):
|
||||
f'''@Date:: 2024/11/20
|
||||
@ -18,46 +18,65 @@ class Test_CAnon010(unittest.TestCase):
|
||||
[购物车客户端] {DescName}
|
||||
1、武商测试环境,2个会员商品 inputcode 分别为:
|
||||
'''
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.vip_goods_01 = VipGoodsInputcode
|
||||
self.vip_goods_02 = VipGoodsInputcode02
|
||||
|
||||
def test_CAnon010_ReturnOfMemberProducts(self):
|
||||
@ddt.data(*DataInit)
|
||||
def test_CAnon010_ReturnOfMemberProducts(self, data):
|
||||
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开始")
|
||||
self.ymc.session_start()
|
||||
ymc.session_start()
|
||||
allure.step("步骤2:匿名登录")
|
||||
Payload01 = {"action": 0, "isAnon": True}
|
||||
LoginData = self.ymc.login_app_v2(Payload01)
|
||||
LoginData = ymc.login_app_v2(Payload01)
|
||||
'''step1:加购商品x,分别加购x件'''
|
||||
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'] != '加购商品不存在':
|
||||
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信息")
|
||||
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'] != '加购商品不存在':
|
||||
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:随机退购一个商品,并结算 '''
|
||||
allure.step("\n步骤7:退购一件商品")
|
||||
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:获取购物车商品信息")
|
||||
self.ymc.get_cart_goods_info([GetGoodsInfoResp_01, GetGoodsInfoResp_02])
|
||||
ymc.get_cart_goods_info(cart_goods_info)
|
||||
allure.step("步骤9:请求订单结算")
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.vip_goods_02} 不存在")
|
||||
pytest.fail(f"---商品 {self.vip_goods_02} 不存在")
|
||||
pytest.fail(f"---商品 {vip_goods_02} 不存在")
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.vip_goods_01} 不存在")
|
||||
pytest.fail(f"---商品 {self.vip_goods_01} 不存在")
|
||||
pytest.fail(f"---商品 {vip_goods_01} 不存在")
|
||||
|
||||
|
||||
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)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -98,8 +98,8 @@ class NotificationModule():
|
||||
"Debug": "7aedbee7239870e3e653748a2889d8bf063c61efa9213c7099bd57476066dc86",
|
||||
"Formal": "80b026022a28166cfc9eebaf8f6a880cc06f56a14b8803e8d67e7fb3cb05844e"
|
||||
}
|
||||
# self.urlInfo = datainfo["Domain"] + datainfo["Debug"]
|
||||
self.urlInfo = datainfo["Domain"] + datainfo["Formal"]
|
||||
self.urlInfo = datainfo["Domain"] + datainfo["Debug"]
|
||||
# self.urlInfo = datainfo["Domain"] + datainfo["Formal"]
|
||||
self.ReportUrl = ProCfgData["ReportsURL"]
|
||||
self.ExecutionEnvironment = ProCfgData["ExecutionEnv"]
|
||||
|
||||
|
@ -13,7 +13,20 @@ class YamlHandler():
|
||||
return yaml.load(f.read(), Loader=yaml.FullLoader)
|
||||
except Exception as 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):
|
||||
'''@Author:: Arthur Wu
|
||||
|
@ -10,3 +10,6 @@ ExecutionScope: YMBusiScenarios
|
||||
# 3-Reports URL
|
||||
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 commons.FileHandler import YamlHandler as yam
|
||||
from commons.SignatureYM import SignatureYM
|
||||
|
||||
|
||||
__RootPath = os.path.dirname(os.path.dirname(__file__)).replace("\\", "/")
|
||||
__YamlFilePath = os.path.join(__RootPath, "configs/Configs.yaml").replace("\\", "/")
|
||||
ProCfgData = yam().read_yaml(__YamlFilePath)
|
||||
@ -29,7 +27,16 @@ GlobalParams = {
|
||||
"todayDateAdd4": (datetime.now() + timedelta(days=4)).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