62 lines
2.4 KiB
Python
62 lines
2.4 KiB
Python
# !/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) |