58 lines
2.4 KiB
Python
58 lines
2.4 KiB
Python
# !/usr/bin/python
|
||
# -*- coding: utf-8 -*-
|
||
# @Author:: Arthur Wu
|
||
# @Description:: 游客转会员登录,加购多件商品,并结算
|
||
# @Date:: 2024/11/20
|
||
import unittest,allure,time,pytest,ddt
|
||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||
from configs.globalParams import DataInit
|
||
DescName = "Vip004-游客转会员登录,加购多件商品,并结算"
|
||
|
||
@ddt.ddt
|
||
class Test_CVip004(unittest.TestCase):
|
||
f'''@Date:: 2024/11/15
|
||
@Author:: Arthur Wu
|
||
@Desc::
|
||
[购物车客户端] {DescName}
|
||
'''
|
||
@ddt.data(*DataInit)
|
||
def test_CVip004_AddMultipleItemsForPurchase(self,data):
|
||
allure.dynamic.story(f'[{data['MarketName']}-场景测试] {DescName}验证')
|
||
allure.dynamic.description(f"描述:{data['MarketName']}-{DescName}\n")
|
||
ymc = YMClientApi(data["ShoppingCartMac"])
|
||
vip_phone_num = data["VIPPhoneNumber"]
|
||
goods_inputcode1 = data["NormalGoods"]["goods01"]
|
||
goods_inputcode2 = data["NormalGoods"]["goods02"]
|
||
|
||
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:获取商品1信息")
|
||
GoodsInfoData1 = ymc.get_goods_info(InputCode=goods_inputcode1)
|
||
if GoodsInfoData1['msg'] != '加购商品不存在':
|
||
allure.step("步骤5:添加商品1")
|
||
ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
|
||
allure.step("步骤6:获取商品2信息")
|
||
GoodsInfoData2 = ymc.get_goods_info(InputCode=goods_inputcode2)
|
||
if GoodsInfoData2['msg'] != '加购商品不存在':
|
||
allure.step("步骤7:添加商品2")
|
||
ymc.add_cart_goods(GoodsInfoData2, 1, LoginData)
|
||
allure.step("步骤8:获取购物车商品信息")
|
||
ymc.get_cart_goods_info([GoodsInfoData1, GoodsInfoData2])
|
||
allure.step("步骤9:请求订单结算")
|
||
ymc.request_order_settlement(LoginData)
|
||
else:
|
||
pytest.fail(f"---商品 {goods_inputcode2} 不存在")
|
||
else:
|
||
pytest.fail(f"---商品 {goods_inputcode1} 不存在")
|
||
|
||
|
||
if __name__ == '__main__':
|
||
unittest.main(verbosity=2) |