# !/usr/bin/python # -*- coding: utf-8 -*- # @Author:: Arthur Wu # @Description:: 游客转会员登录,加购重量放通商品,并结算 # @Date:: 2024/11/21 import unittest,allure,time,pytest from configs.globalObj import LOGGER from YiMao.businessFunc.ClientApiLib import YMClientApi from YiMao.businessFunc.ServiceApiLib import YMServiceApi from YiMao.data.WuShangSceneTestData import * DescName = "Vip007-游客转会员登录,加购重量放通商品,并结算" @allure.story(f'[场景测试] {DescName}验证') class Test_CVip007(unittest.TestCase): f'''@Date:: 2024/11/15 @Author:: Arthur Wu @Desc:: [购物车客户端] {DescName} 1、武商测试环境,重量放通商品inputcode为: 6924743915848 ''' def setUp(self) -> None: self.timestamp = int(time.time()) self.ymc = YMClientApi(ShoppingCartMac) self.yms = YMServiceApi() self.vip_phone_num = VIPPhoneNumber self.weight_to_whitelist_goods = WeightToWhitelistGoods self.market_and_store_info = { "MarketId": MarketAndStoreDetails["putMarketId"], "StoreId": MarketAndStoreDetails["putStoreId"][0] } def test_CVip007_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 ) if pre_respomse['data'] is not None: LOGGER.info(f"---商品 {self.weight_to_whitelist_goods['GoodsInputcode']} " f"已添加到重量放通白名单中") ''' 2-再调用客户端接口,执行加购操作 ''' allure.step("[业务步骤]:再调用客户端接口,执行加购操作") allure.step("步骤1:session开始") self.ymc.session_start() allure.step("步骤2:匿名登录") Payload01 = {"action": 0, "isAnon": True} LoginData = self.ymc.login_app_v2(Payload01) allure.step("步骤3:切换会员登录") Payload02 = {"action": 1, "code": self.vip_phone_num, "isAnon": False} self.ymc.login_app_v2(Payload02) allure.step("步骤3:获取白名单商品信息") GoodsInfoData1 = self.ymc.get_goods_info(self.weight_to_whitelist_goods["GoodsInputcode"]) if GoodsInfoData1['msg'] != '加购商品不存在': allure.step("步骤4:加购白名单商品") self.ymc.add_cart_goods(GoodsInfoData1, 1, LoginData) allure.step("步骤5:获取购物车商品信息") self.ymc.get_cart_goods_info([GoodsInfoData1]) allure.step("步骤6:请求订单结算") self.ymc.request_order_settlement(LoginData) else: LOGGER.info(f"---商品 {self.weight_to_whitelist_goods["GoodsInputcode"]} 不存在") pytest.fail(f"---商品 {self.weight_to_whitelist_goods["GoodsInputcode"]} 不存在") allure.step("[后置处理]:删除添加的重量放通白名单商品") self.yms.delete_weight_whitelist_goods() else: LOGGER.info(f"---添加商品 {self.weight_to_whitelist_goods['GoodsInputcode']} " f"到重量放通白名单失败") pytest.fail(f"---添加商品 {self.weight_to_whitelist_goods['GoodsInputcode']} " f"到重量放通白名单失败") if __name__ == '__main__': unittest.main(verbosity=2)