Arthur-Wu committed this file on 2024-11-26
This commit is contained in:
parent
a18431f788
commit
b7a15520d9
@ -1,55 +0,0 @@
|
|||||||
# !/usr/bin/python
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
# @Author:: Arthur Wu
|
|
||||||
# @Description:: 游客转会员登录,加购普通商品,并结算
|
|
||||||
# @Date:: 2024/11/20
|
|
||||||
import unittest,allure,time,pytest
|
|
||||||
from configs.globalObj import LOGGER
|
|
||||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
|
||||||
from YiMao.data.WuShangSceneTestData import *
|
|
||||||
|
|
||||||
|
|
||||||
DescName = "Vip002-游客转会员登录,加购普通商品,并结算"
|
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
|
||||||
class Test_CVip002(unittest.TestCase):
|
|
||||||
f'''@Date:: 2024/11/15
|
|
||||||
@Author:: Arthur Wu
|
|
||||||
@Desc:: test_C003_NonVipAddNonDiscountedProductsForPurchase
|
|
||||||
[购物车客户端] {DescName}
|
|
||||||
1、武商测试环境,普通无优惠商品inputcode为:
|
|
||||||
6924743915848
|
|
||||||
'''
|
|
||||||
def setUp(self) -> None:
|
|
||||||
self.timestamp = int(time.time())
|
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.vip_phone_num = VIPPhoneNumber
|
|
||||||
self.NormalGoodsInputcode01 = NormalGoodsInputcode01
|
|
||||||
|
|
||||||
def test_CVip002_AddNonDiscountedProductsForPurchase(self):
|
|
||||||
allure.dynamic.description(f"描述:{DescName}")
|
|
||||||
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("步骤4:获取商品信息")
|
|
||||||
GoodsInfoData = self.ymc.get_goods_info(InputCode=self.NormalGoodsInputcode01)
|
|
||||||
if GoodsInfoData['msg'] != '加购商品不存在':
|
|
||||||
allure.step("步骤5:添加无优惠商品")
|
|
||||||
self.ymc.add_cart_goods(GoodsInfoData, 5, LoginData)
|
|
||||||
allure.step("步骤6:获取购物车商品信息")
|
|
||||||
self.ymc.get_cart_goods_info([GoodsInfoData])
|
|
||||||
allure.step("步骤7:请求订单结算")
|
|
||||||
self.ymc.request_order_settlement(LoginData)
|
|
||||||
else:
|
|
||||||
LOGGER.info(f"---商品 {self.NormalGoodsInputcode01} 不存在")
|
|
||||||
pytest.fail(f"---商品 {self.NormalGoodsInputcode01} 不存在")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
unittest.main(verbosity=2)
|
|
@ -1,55 +0,0 @@
|
|||||||
# !/usr/bin/python
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
# @Author:: Arthur Wu
|
|
||||||
# @Description:: 游客转会员登录,加购会员商品,并结算
|
|
||||||
# @Date:: 2024/11/20
|
|
||||||
import unittest,allure,time,pytest
|
|
||||||
from configs.globalObj import LOGGER
|
|
||||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
|
||||||
from YiMao.data.WuShangSceneTestData import *
|
|
||||||
|
|
||||||
|
|
||||||
DescName = "Vip003-游客转会员登录,加购会员商品,并结算"
|
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
|
||||||
class Test_CVip003(unittest.TestCase):
|
|
||||||
f'''@Date:: 2024/11/20
|
|
||||||
@Author:: Arthur Wu
|
|
||||||
@Desc::
|
|
||||||
[购物车客户端] {DescName}
|
|
||||||
1、武商测试环境,会员有优惠商品inputcode为:
|
|
||||||
!!!!会员有优惠商品暂未提供
|
|
||||||
'''
|
|
||||||
def setUp(self) -> None:
|
|
||||||
self.timestamp = int(time.time())
|
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.vip_phone_num = VIPPhoneNumber
|
|
||||||
self.vip_goods_inputcode = VipGoodsInputcode
|
|
||||||
|
|
||||||
def test_CVip003_AddMemberProductsForPurchase(self):
|
|
||||||
allure.dynamic.description(f"描述:{DescName}")
|
|
||||||
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("步骤4:获取商品信息")
|
|
||||||
GoodsInfoData = self.ymc.get_goods_info(self.vip_goods_inputcode)
|
|
||||||
if GoodsInfoData['msg'] != '加购商品不存在':
|
|
||||||
allure.step("步骤5:添加会员有优惠商品")
|
|
||||||
self.ymc.add_cart_goods(GoodsInfoData, 1, LoginData)
|
|
||||||
allure.step("步骤6:获取购物车商品信息")
|
|
||||||
self.ymc.get_cart_goods_info([GoodsInfoData])
|
|
||||||
allure.step("步骤7:请求订单结算")
|
|
||||||
self.ymc.request_order_settlement(LoginData)
|
|
||||||
else:
|
|
||||||
LOGGER.info(f"---商品 {self.vip_goods_inputcode} 不存在")
|
|
||||||
pytest.fail(f"---商品 {self.vip_goods_inputcode} 不存在")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
unittest.main(verbosity=2)
|
|
@ -1,63 +0,0 @@
|
|||||||
# !/usr/bin/python
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
# @Author:: Arthur Wu
|
|
||||||
# @Description:: 游客转会员登录,加购多件商品,并结算
|
|
||||||
# @Date:: 2024/11/20
|
|
||||||
import unittest,allure,time,pytest
|
|
||||||
from configs.globalObj import LOGGER
|
|
||||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
|
||||||
from YiMao.data.WuShangSceneTestData import *
|
|
||||||
|
|
||||||
|
|
||||||
DescName = "Vip004-游客转会员登录,加购多件商品,并结算"
|
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
|
||||||
class Test_CVip004(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_phone_num = VIPPhoneNumber
|
|
||||||
self.goods_inputcode1 = NormalGoodsInputcode01
|
|
||||||
self.goods_inputcode2 = NormalGoodsInputcode02
|
|
||||||
|
|
||||||
def test_CVip004_AddMultipleItemsForPurchase(self):
|
|
||||||
allure.dynamic.description(f"描述:{DescName}")
|
|
||||||
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("步骤4:获取商品1信息")
|
|
||||||
GoodsInfoData1 = self.ymc.get_goods_info(InputCode=self.goods_inputcode1)
|
|
||||||
if GoodsInfoData1['msg'] != '加购商品不存在':
|
|
||||||
allure.step("步骤5:添加商品1")
|
|
||||||
self.ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
|
|
||||||
allure.step("步骤6:获取商品2信息")
|
|
||||||
GoodsInfoData2 = self.ymc.get_goods_info(InputCode=self.goods_inputcode2)
|
|
||||||
if GoodsInfoData2['msg'] != '加购商品不存在':
|
|
||||||
allure.step("步骤7:添加商品2")
|
|
||||||
self.ymc.add_cart_goods(GoodsInfoData2, 1, LoginData)
|
|
||||||
allure.step("步骤8:获取购物车商品信息")
|
|
||||||
self.ymc.get_cart_goods_info([GoodsInfoData1, GoodsInfoData2])
|
|
||||||
allure.step("步骤9:请求订单结算")
|
|
||||||
self.ymc.request_order_settlement(LoginData)
|
|
||||||
else:
|
|
||||||
LOGGER.info(f"---商品 {self.goods_inputcode2} 不存在")
|
|
||||||
pytest.fail(f"---商品 {self.goods_inputcode2} 不存在")
|
|
||||||
else:
|
|
||||||
LOGGER.info(f"---商品 {self.goods_inputcode1} 不存在")
|
|
||||||
pytest.fail(f"---商品 {self.goods_inputcode1} 不存在")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
unittest.main(verbosity=2)
|
|
@ -1,77 +0,0 @@
|
|||||||
# !/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 = "Vip006-游客转会员登录,加购促销白名单商品,并结算"
|
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
|
||||||
class Test_CVip006(unittest.TestCase):
|
|
||||||
f'''@Date:: 2024/11/15
|
|
||||||
@Author:: Arthur Wu
|
|
||||||
@Desc::
|
|
||||||
[购物车客户端] {DescName}
|
|
||||||
1、武商测试环境,促销白名单商品inputcode为:
|
|
||||||
6925303796426
|
|
||||||
'''
|
|
||||||
def setUp(self) -> None:
|
|
||||||
self.timestamp = int(time.time())
|
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.yms = YMServiceApi()
|
|
||||||
self.vip_phone_num = VIPPhoneNumber
|
|
||||||
self.promotional_whitelist_goods = PromotionalWhitelistGoods
|
|
||||||
self.market_and_store_info = {
|
|
||||||
"MarketId": MarketAndStoreDetails["putMarketId"],
|
|
||||||
"StoreId": MarketAndStoreDetails["putStoreId"][0]
|
|
||||||
}
|
|
||||||
|
|
||||||
def test_CVip006_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
|
|
||||||
)
|
|
||||||
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()
|
|
||||||
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.promotional_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.promotional_whitelist_goods["GoodsInputcode"]} 不存在")
|
|
||||||
pytest.fail(f"商品 {self.promotional_whitelist_goods["GoodsInputcode"]}不存在")
|
|
||||||
|
|
||||||
allure.step("[后置处理]:删除添加的促销白名单商品")
|
|
||||||
self.yms.delete_whitelist_goods()
|
|
||||||
else:
|
|
||||||
LOGGER.info(f"---添加商品 {self.promotional_whitelist_goods['GoodsInputcode']} "
|
|
||||||
f"到促销白名单失败")
|
|
||||||
pytest.fail(f"---添加商品 {self.promotional_whitelist_goods['GoodsInputcode']} "
|
|
||||||
f"到促销白名单失败")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
unittest.main(verbosity=2)
|
|
@ -1,78 +0,0 @@
|
|||||||
# !/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)
|
|
@ -172,7 +172,7 @@ class YMClientApi(object):
|
|||||||
:return:
|
:return:
|
||||||
'''
|
'''
|
||||||
import random
|
import random
|
||||||
logging.info("========== [退购 购物嗲] delete_shopping_bag ==========")
|
logging.info("========== [退购 购物袋] delete_shopping_bag ==========")
|
||||||
|
|
||||||
delGoodsList, existGoodsList = [], []
|
delGoodsList, existGoodsList = [], []
|
||||||
for add_goods_info in AddGoodsResp["data"]["bagInfoList"]:
|
for add_goods_info in AddGoodsResp["data"]["bagInfoList"]:
|
||||||
@ -248,17 +248,19 @@ class YMClientApi(object):
|
|||||||
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
|
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
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_list = []
|
# 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_list.append(goods_dict)
|
# goods_param_list.append(goods_dict)
|
||||||
payload = json.dumps({"goodsParamList": goods_param_list}, 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}")
|
||||||
|
|
||||||
|
payload = json.dumps({"goodsParamList": []})
|
||||||
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)
|
||||||
logging.info(f"-----------接口返回状态码:{response.status_code}")
|
logging.info(f"-----------接口返回状态码:{response.status_code}")
|
||||||
|
@ -110,7 +110,7 @@ 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):
|
def update_the_store_to_which_the_shopping_cart_belongs(self, CartMac, NewStoreId):
|
||||||
'''
|
'''
|
||||||
NewStoreInfo={
|
NewStoreInfo={
|
||||||
"CartMac": "b8:2d:28:04:c7:5c",
|
"CartMac": "b8:2d:28:04:c7:5c",
|
||||||
@ -128,8 +128,8 @@ class YMServiceApi(object):
|
|||||||
logging.info("========== [更新购物车信息] ==========")
|
logging.info("========== [更新购物车信息] ==========")
|
||||||
payload = json.dumps({
|
payload = json.dumps({
|
||||||
"id": 1213,
|
"id": 1213,
|
||||||
"mac": NewStoreInfo["CartMac"], #
|
"mac": CartMac, #
|
||||||
"storeId": NewStoreInfo["StoreId"],
|
"storeId": int(NewStoreId),
|
||||||
"cartModelId": 5,
|
"cartModelId": 5,
|
||||||
"serialNum": "MMAT3FC10100003101023491",
|
"serialNum": "MMAT3FC10100003101023491",
|
||||||
"storeCartNo": "QH97",
|
"storeCartNo": "QH97",
|
||||||
@ -229,12 +229,22 @@ class YMServiceApi(object):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
'''
|
||||||
|
亿猫超市-国秀广场-storeId: 9017,
|
||||||
|
武商-梦时代-storeId: 69,
|
||||||
|
家家悦-青岛乐客-storeId: 9022,
|
||||||
|
中百-中百测试店-storeId: 68,
|
||||||
|
永辉-龙湖天街-storeId: 9010,
|
||||||
|
'''
|
||||||
yms = YMServiceApi()
|
yms = YMServiceApi()
|
||||||
GoodsInfo = {"GoodsInputcode": "6924743915848"}
|
GoodsInfo = {"GoodsInputcode": "6924743915848"}
|
||||||
MarketAndStoreDetails = {"putMarketId": 50, "putStoreId": ["69"]}
|
MarketAndStoreDetails = {"putMarketId": 50, "putStoreId": ["69"]}
|
||||||
|
|
||||||
NewStoreInfo = {
|
NewStoreInfo = {
|
||||||
"CartMac": "b8:2d:28:04:c7:5c",
|
"CartMac": "70:f7:54:07:a6:c0",
|
||||||
"StoreId": 68,
|
# "CartMac": "b8:2d:28:04:c7:5c",
|
||||||
|
"StoreId": 69,
|
||||||
}
|
}
|
||||||
yms.update_cart_info(NewStoreInfo)
|
CartMac = "70:f7:54:07:a6:c0"
|
||||||
|
NewStoreId = 69
|
||||||
|
yms.update_the_store_to_which_the_shopping_cart_belongs(CartMac, NewStoreId)
|
54
YiMao/data/JiajiaYue.yaml
Normal file
54
YiMao/data/JiajiaYue.yaml
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
# which is the data file for Wu Shang.
|
||||||
|
|
||||||
|
# 1-购物车Mac地址
|
||||||
|
#ShoppingCartMac: b8:2d:28:04:c7:5c
|
||||||
|
ShoppingCartMac: 70:f7:54:07:a6:c0
|
||||||
|
|
||||||
|
# 2-武商会员账号
|
||||||
|
VIPPhoneNumber:
|
||||||
|
|
||||||
|
# 3-商超、门店信息
|
||||||
|
MarketAndStoreDetails:
|
||||||
|
putMarketId:
|
||||||
|
putStoreId: [""]
|
||||||
|
|
||||||
|
# 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:
|
@ -7,7 +7,7 @@
|
|||||||
#adsAreaId-6: 支付后广告
|
#adsAreaId-6: 支付后广告
|
||||||
#adsAreaId-7: 小票广告
|
#adsAreaId-7: 小票广告
|
||||||
# 1-购物车Mac地址
|
# 1-购物车Mac地址
|
||||||
ShoppingCartMac: b8:2d:28:04:c7:5c
|
ShoppingCartMac: 70:f7:54:07:a6:c0
|
||||||
|
|
||||||
# 2-武商会员账号
|
# 2-武商会员账号
|
||||||
VIPPhoneNumber: 17786408673
|
VIPPhoneNumber: 17786408673
|
||||||
|
54
YiMao/data/YongHui.yaml
Normal file
54
YiMao/data/YongHui.yaml
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
# which is the data file for Wu Shang.
|
||||||
|
|
||||||
|
# 1-购物车Mac地址
|
||||||
|
#ShoppingCartMac: b8:2d:28:04:c7:5c
|
||||||
|
ShoppingCartMac: 70:f7:54:07:a6:c0
|
||||||
|
|
||||||
|
# 2-武商会员账号
|
||||||
|
VIPPhoneNumber:
|
||||||
|
|
||||||
|
# 3-商超、门店信息
|
||||||
|
MarketAndStoreDetails:
|
||||||
|
putMarketId:
|
||||||
|
putStoreId: [""]
|
||||||
|
|
||||||
|
# 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:
|
@ -1,7 +1,7 @@
|
|||||||
# which is the data file for Wu Shang.
|
# which is the data file for Wu Shang.
|
||||||
|
|
||||||
# 1-购物车Mac地址
|
# 1-购物车Mac地址
|
||||||
ShoppingCartMac: b8:2d:28:04:c7:5c
|
ShoppingCartMac: 70:f7:54:07:a6:c0
|
||||||
|
|
||||||
# 2-武商会员账号
|
# 2-武商会员账号
|
||||||
VIPPhoneNumber: 13237135934
|
VIPPhoneNumber: 13237135934
|
||||||
|
@ -3,13 +3,12 @@
|
|||||||
# @Author:: Arthur Wu
|
# @Author:: Arthur Wu
|
||||||
# @Description:: 游客登录,加购多件商品,退购一个商品,并结算
|
# @Description:: 游客登录,加购多件商品,退购一个商品,并结算
|
||||||
# @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 = "Anon011-非会员,加购多件商品,退购一个商品,并结算"
|
DescName = "Anon011-非会员,加购多件商品,退购一个商品,并结算"
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CAnon011(unittest.TestCase):
|
class Test_CAnon011(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/20
|
f'''@Date:: 2024/11/20
|
||||||
@ -18,46 +17,45 @@ class Test_CAnon011(unittest.TestCase):
|
|||||||
[购物车客户端] {DescName}
|
[购物车客户端] {DescName}
|
||||||
1、武商测试环境,多件商品的 inputcode 分别为:
|
1、武商测试环境,多件商品的 inputcode 分别为:
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
@ddt.data(*DataInit)
|
||||||
self.timestamp = int(time.time())
|
def test_CAnon011_ReturnOneItemFromMultiplePurchases(self, data):
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.goods_inputcode1 = NormalGoodsInputcode01
|
|
||||||
self.goods_inputcode2 = NormalGoodsInputcode02
|
|
||||||
|
|
||||||
def test_CAnon011_ReturnOneItemFromMultiplePurchases(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)
|
||||||
'''step1:加购商品x,分别加购x件'''
|
'''step1:加购商品x,分别加购x件'''
|
||||||
allure.step("步骤3:获取商品1信息")
|
allure.step("步骤3:获取商品1信息")
|
||||||
GetGoodsInfoResp_01 = self.ymc.get_goods_info(InputCode=self.goods_inputcode1)
|
GetGoodsInfoResp_01 = ymc.get_goods_info(InputCode=goods_inputcode1)
|
||||||
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)
|
AddGoodsResp_01 = 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.goods_inputcode2)
|
GetGoodsInfoResp_02 = ymc.get_goods_info(InputCode=goods_inputcode2)
|
||||||
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_02 = 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_cart_goods(GetGoodsInfoList, LoginData, AddGoodsResp)
|
AddGoodsResp_List = [AddGoodsResp_01, AddGoodsResp_02]
|
||||||
|
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()
|
||||||
allure.step("步骤9:请求订单结算")
|
allure.step("步骤9:请求订单结算")
|
||||||
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:: 游客登录,加购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 = "Anon012-非会员,加购2个打折商品,退购一个,并结算"
|
DescName = "Anon012-非会员,加购2个打折商品,退购一个,并结算"
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CAnon012(unittest.TestCase):
|
class Test_CAnon012(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/20
|
f'''@Date:: 2024/11/20
|
||||||
@ -18,37 +17,37 @@ class Test_CAnon012(unittest.TestCase):
|
|||||||
[购物车客户端] {DescName}
|
[购物车客户端] {DescName}
|
||||||
1、武商测试环境,2个打折商品 inputcode 分别为:
|
1、武商测试环境,2个打折商品 inputcode 分别为:
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
@ddt.data(*DataInit)
|
||||||
self.timestamp = int(time.time())
|
def test_CAnon012_ReturnOfDiscountedProducts(self, data):
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.sale_goods_inputCode = SaleGoodsInputCode
|
|
||||||
|
|
||||||
def test_CAnon012_ReturnOfDiscountedProducts(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)
|
||||||
'''step1:加购商品x,分别加购x件'''
|
'''step1:加购商品x,分别加购x件'''
|
||||||
allure.step("步骤3:获取商品1信息")
|
allure.step("步骤3:获取商品1信息")
|
||||||
GetGoodsInfoResp_01 = self.ymc.get_goods_info(InputCode=self.sale_goods_inputCode)
|
GetGoodsInfoResp_01 = ymc.get_goods_info(InputCode=sale_goods_inputCode)
|
||||||
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤4:添加商品1")
|
allure.step("步骤4:添加商品1")
|
||||||
AddGoodsResp = self.ymc.add_cart_goods(GetGoodsInfoResp_01, 2, LoginData)
|
AddGoodsResp = ymc.add_cart_goods(GetGoodsInfoResp_01, 2, LoginData)
|
||||||
|
|
||||||
''' step2:随机退购一个商品,并结算 '''
|
''' step2:随机退购一个商品,并结算 '''
|
||||||
allure.step("\n步骤5:退购一件商品")
|
allure.step("\n步骤5:退购一件商品")
|
||||||
GetGoodsInfoList = [GetGoodsInfoResp_01]
|
GetGoodsInfoList = [GetGoodsInfoResp_01]
|
||||||
self.ymc.delete_cart_goods(GetGoodsInfoList, LoginData, AddGoodsResp)
|
AddGoodsResp_List = [AddGoodsResp]
|
||||||
|
ymc.delete_cart_goods(GetGoodsInfoList, LoginData, AddGoodsResp_List)
|
||||||
|
|
||||||
allure.step("步骤6:获取购物车商品信息")
|
allure.step("步骤6:获取购物车商品信息")
|
||||||
self.ymc.get_cart_goods_info([GetGoodsInfoResp_01])
|
ymc.get_cart_goods_info()
|
||||||
allure.step("步骤7:请求订单结算")
|
allure.step("步骤7:请求订单结算")
|
||||||
self.ymc.request_order_settlement(LoginData)
|
ymc.request_order_settlement(LoginData)
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---商品 {self.sale_goods_inputCode} 不存在")
|
LOGGER.info(f"---商品 {sale_goods_inputCode} 不存在")
|
||||||
pytest.fail(f"---商品 {self.sale_goods_inputCode} 不存在")
|
pytest.fail(f"---商品 {sale_goods_inputCode} 不存在")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
@ -3,14 +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.businessFunc.ServiceApiLib import YMServiceApi
|
from YiMao.businessFunc.ServiceApiLib import YMServiceApi
|
||||||
from YiMao.data.WuShangSceneTestData import *
|
from configs.globalParams import DataInit
|
||||||
|
|
||||||
|
|
||||||
DescName = "Anon013-非会员加购2个促销白名单商品,退购一个"
|
DescName = "Anon013-非会员加购2个促销白名单商品,退购一个"
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CAnon013(unittest.TestCase):
|
class Test_CAnon013(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/20
|
f'''@Date:: 2024/11/20
|
||||||
@ -19,64 +18,64 @@ class Test_CAnon013(unittest.TestCase):
|
|||||||
[购物车客户端] {DescName}
|
[购物车客户端] {DescName}
|
||||||
1、武商测试环境,促销白名单商品 inputcode 分别为:
|
1、武商测试环境,促销白名单商品 inputcode 分别为:
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
@ddt.data(*DataInit)
|
||||||
self.timestamp = int(time.time())
|
def test_CAnon013_ReturnPromotionWhitelistProducts(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_CAnon013_ReturnPromotionWhitelistProducts(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']} "
|
LOGGER.info(f"---商品 {promotional_whitelist_goods['GoodsInputcode']} "
|
||||||
f"已添加到促销白名单中")
|
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)
|
||||||
|
|
||||||
'''step1:加购商品x,分别加购x件'''
|
'''step1:加购商品x,分别加购x件'''
|
||||||
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"])
|
||||||
LOGGER.info(f"---获取的商品信息为:{GoodsInfoData1}")
|
LOGGER.info(f"---获取的商品信息为:{GoodsInfoData1}")
|
||||||
if GoodsInfoData1['data']['weight'] == 0:
|
if GoodsInfoData1['data']['weight'] == 0:
|
||||||
GoodsInfoData1['data']['weight'] = 300
|
GoodsInfoData1['data']['weight'] = 300
|
||||||
if GoodsInfoData1['msg'] != '加购商品不存在':
|
if GoodsInfoData1['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤4:加购白名单商品")
|
allure.step("步骤4:加购白名单商品")
|
||||||
AddGoodsResp = self.ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
|
AddGoodsResp = ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
|
||||||
LOGGER.info(f"---加购商品返回结果:{AddGoodsResp}")
|
LOGGER.info(f"---加购商品返回结果:{AddGoodsResp}")
|
||||||
|
|
||||||
''' step2:随机退购一个商品,并结算 '''
|
''' step2:随机退购一个商品,并结算 '''
|
||||||
allure.step("\n步骤5:退购一件商品")
|
allure.step("\n步骤5:退购一件商品")
|
||||||
GetGoodsInfoList = [GoodsInfoData1]
|
GetGoodsInfoList = [GoodsInfoData1]
|
||||||
self.ymc.delete_cart_goods(GetGoodsInfoList, LoginData, AddGoodsResp)
|
AddGoodsResp_List = [AddGoodsResp]
|
||||||
|
ymc.delete_cart_goods(GetGoodsInfoList, LoginData, AddGoodsResp_List)
|
||||||
|
|
||||||
allure.step("步骤6:获取购物车商品信息")
|
allure.step("步骤6:获取购物车商品信息")
|
||||||
self.ymc.get_cart_goods_info([GoodsInfoData1])
|
ymc.get_cart_goods_info([GoodsInfoData1])
|
||||||
allure.step("步骤7:请求订单结算")
|
allure.step("步骤7:请求订单结算")
|
||||||
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"]} 不存在")
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---添加商品 {self.promotional_whitelist_goods['GoodsInputcode']} "
|
allure.step("[后置处理]:删除添加的促销白名单商品")
|
||||||
f"到促销白名单失败")
|
yms.delete_whitelist_goods()
|
||||||
pytest.fail(f"---添加商品 {self.promotional_whitelist_goods['GoodsInputcode']} "
|
pytest.fail(f"---添加商品 {promotional_whitelist_goods['GoodsInputcode']} "
|
||||||
f"到促销白名单失败")
|
f"到促销白名单失败")
|
||||||
|
|
||||||
def tearDown(self) -> None:
|
|
||||||
allure.step("[后置处理]:删除添加的促销白名单商品")
|
|
||||||
self.yms.delete_whitelist_goods()
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main(verbosity=2)
|
unittest.main(verbosity=2)
|
@ -3,14 +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.businessFunc.ServiceApiLib import YMServiceApi
|
from YiMao.businessFunc.ServiceApiLib import YMServiceApi
|
||||||
from YiMao.data.WuShangSceneTestData import *
|
from configs.globalParams import DataInit
|
||||||
|
|
||||||
|
|
||||||
DescName = "Anon014-非会员加购2个重量放通商品,退购一个"
|
DescName = "Anon014-非会员加购2个重量放通商品,退购一个"
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CAnon014(unittest.TestCase):
|
class Test_CAnon014(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/20
|
f'''@Date:: 2024/11/20
|
||||||
@ -19,64 +18,60 @@ class Test_CAnon014(unittest.TestCase):
|
|||||||
[购物车客户端] {DescName}
|
[购物车客户端] {DescName}
|
||||||
1、武商测试环境,重量放通白名单商品 inputcode 分别为:
|
1、武商测试环境,重量放通白名单商品 inputcode 分别为:
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
@ddt.data(*DataInit)
|
||||||
self.timestamp = int(time.time())
|
def test_CAnon014_ReturnWeightOfTheProducte(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_CAnon014_ReturnWeightOfTheProducte(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"])
|
||||||
LOGGER.info(f"---获取的商品信息为:{GoodsInfoData1}")
|
LOGGER.info(f"---获取的商品信息为:{GoodsInfoData1}")
|
||||||
if GoodsInfoData1['data']['weight'] == 0:
|
if GoodsInfoData1['data']['weight'] == 0:
|
||||||
GoodsInfoData1['data']['weight'] = 400
|
GoodsInfoData1['data']['weight'] = 400
|
||||||
if GoodsInfoData1['msg'] != '加购商品不存在':
|
if GoodsInfoData1['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤4:加购白名单商品")
|
allure.step("步骤4:加购白名单商品")
|
||||||
AddGoodsResp = self.ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
|
AddGoodsResp = ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
|
||||||
LOGGER.info(f"---加购商品返回结果:{AddGoodsResp}")
|
LOGGER.info(f"---加购商品返回结果:{AddGoodsResp}")
|
||||||
|
|
||||||
''' step2:随机退购一个商品,并结算 '''
|
''' step2:随机退购一个商品,并结算 '''
|
||||||
allure.step("\n步骤5:退购一件商品")
|
allure.step("\n步骤5:退购一件商品")
|
||||||
GetGoodsInfoList = [GoodsInfoData1]
|
GetGoodsInfoList = [GoodsInfoData1]
|
||||||
self.ymc.delete_cart_goods(GetGoodsInfoList, LoginData, AddGoodsResp)
|
AddGoodsResp_List = [AddGoodsResp]
|
||||||
|
ymc.delete_cart_goods(GetGoodsInfoList, LoginData, AddGoodsResp_List)
|
||||||
|
|
||||||
allure.step("步骤6:获取购物车商品信息")
|
allure.step("步骤6:获取购物车商品信息")
|
||||||
self.ymc.get_cart_goods_info([GoodsInfoData1])
|
ymc.get_cart_goods_info([GoodsInfoData1])
|
||||||
allure.step("步骤7:请求订单结算")
|
allure.step("步骤7:请求订单结算")
|
||||||
self.ymc.request_order_settlement(LoginData)
|
ymc.request_order_settlement(LoginData)
|
||||||
else:
|
|
||||||
LOGGER.info(f"---商品 {self.weight_to_whitelist_goods["GoodsInputcode"]} 不存在")
|
|
||||||
pytest.fail(f"---商品 {self.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']} "
|
|
||||||
f"到重量放通白名单失败")
|
|
||||||
|
|
||||||
def tearDown(self) -> None:
|
|
||||||
allure.step("[后置处理]:删除添加的重量放通白名单商品")
|
allure.step("[后置处理]:删除添加的重量放通白名单商品")
|
||||||
self.yms.delete_weight_whitelist_goods()
|
yms.delete_weight_whitelist_goods()
|
||||||
|
else:
|
||||||
|
allure.step("[后置处理]:删除添加的重量放通白名单商品")
|
||||||
|
yms.delete_weight_whitelist_goods()
|
||||||
|
pytest.fail(f"---商品 {weight_to_whitelist_goods['GoodsInputcode']} 不存在")
|
||||||
|
else:
|
||||||
|
pytest.fail(f"---添加商品 {weight_to_whitelist_goods['GoodsInputcode']} "
|
||||||
|
f"到重量放通白名单失败")
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main(verbosity=2)
|
unittest.main(verbosity=2)
|
@ -3,13 +3,12 @@
|
|||||||
# @Author:: Arthur Wu
|
# @Author:: Arthur Wu
|
||||||
# @Description:: 匿名登录,加购计件商品,并结算
|
# @Description:: 匿名登录,加购计件商品,并结算
|
||||||
# @Date:: 2024/11/22
|
# @Date:: 2024/11/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.data.WuShangSceneTestData import *
|
from configs.globalParams import DataInit
|
||||||
|
|
||||||
|
|
||||||
DescName = "Anon015-匿名登录加购计件商品,并结算"
|
DescName = "Anon015-匿名登录加购计件商品,并结算"
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CAnon015(unittest.TestCase):
|
class Test_CAnon015(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/22
|
f'''@Date:: 2024/11/22
|
||||||
@ -17,30 +16,29 @@ class Test_CAnon015(unittest.TestCase):
|
|||||||
@Desc::
|
@Desc::
|
||||||
[购物车客户端] {DescName}
|
[购物车客户端] {DescName}
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
@ddt.data(*DataInit)
|
||||||
self.timestamp = int(time.time())
|
def test_CAnon015(self,data):
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.piece_rate_goods = PieceRateGoods["GoodsInputcode"]
|
|
||||||
|
|
||||||
def test_CAnon015(self):
|
|
||||||
allure.dynamic.description(f"描述:{DescName}\n")
|
allure.dynamic.description(f"描述:{DescName}\n")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
piece_rate_goods = data["PieceRateGoods"]["GoodsInputcode"]
|
||||||
|
|
||||||
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:获取商品信息")
|
||||||
GetGoodsInfoResp_01 = self.ymc.get_goods_info(self.piece_rate_goods)
|
GetGoodsInfoResp_01 = ymc.get_goods_info(piece_rate_goods)
|
||||||
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤4:添加会员有优惠商品")
|
allure.step("步骤4:添加会员有优惠商品")
|
||||||
self.ymc.add_cart_goods(GetGoodsInfoResp_01, 1, LoginData)
|
ymc.add_cart_goods(GetGoodsInfoResp_01, 1, LoginData)
|
||||||
allure.step("步骤5:获取购物车商品信息")
|
allure.step("步骤5:获取购物车商品信息")
|
||||||
self.ymc.get_cart_goods_info([GetGoodsInfoResp_01])
|
ymc.get_cart_goods_info([GetGoodsInfoResp_01])
|
||||||
allure.step("步骤6:请求订单结算")
|
allure.step("步骤6:请求订单结算")
|
||||||
self.ymc.request_order_settlement(LoginData)
|
ymc.request_order_settlement(LoginData)
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---商品 {PieceRateGoods} 不存在")
|
LOGGER.info(f"---商品 {data["PieceRateGoods"]} 不存在")
|
||||||
pytest.fail(f"---商品 {PieceRateGoods} 不存在")
|
pytest.fail(f"---商品 {data["PieceRateGoods"]} 不存在")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
@ -3,52 +3,48 @@
|
|||||||
# @Author:: Arthur Wu
|
# @Author:: Arthur Wu
|
||||||
# @Description:: 匿名登录,加购计件商品,并退购
|
# @Description:: 匿名登录,加购计件商品,并退购
|
||||||
# @Date:: 2024/11/22
|
# @Date:: 2024/11/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.data.WuShangSceneTestData import *
|
from configs.globalParams import DataInit
|
||||||
|
|
||||||
|
|
||||||
DescName = "Anon016-匿名登录,加购计件商品,并退购"
|
DescName = "Anon016-匿名登录,加购计件商品,并退购"
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CAnon016(unittest.TestCase):
|
class Test_CAnon016(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/22
|
f'''@Date:: 2024/11/22
|
||||||
@Author:: Arthur Wu
|
@Author:: Arthur Wu
|
||||||
@Desc::
|
@Desc::
|
||||||
[购物车客户端] {DescName}
|
[购物车客户端] {DescName}
|
||||||
1、步骤
|
|
||||||
1)加购计件或计重商品
|
|
||||||
2)退购一件
|
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
|
||||||
self.timestamp = int(time.time())
|
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.piece_rate_goods = PieceRateGoods["GoodsInputcode"]
|
|
||||||
|
|
||||||
def test_CAnon016(self):
|
@ddt.data(*DataInit)
|
||||||
|
def test_CAnon016(self,data):
|
||||||
allure.dynamic.description(f"描述:{DescName}\n")
|
allure.dynamic.description(f"描述:{DescName}\n")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
piece_rate_goods = data["PieceRateGoods"]["GoodsInputcode"]
|
||||||
|
|
||||||
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:获取商品信息")
|
||||||
GetGoodsInfoResp_01 = self.ymc.get_goods_info(self.piece_rate_goods)
|
GetGoodsInfoResp_01 = ymc.get_goods_info(piece_rate_goods)
|
||||||
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤4:添加会员有优惠商品")
|
allure.step("步骤4:添加会员有优惠商品")
|
||||||
AddGoodsResp = self.ymc.add_cart_goods(GetGoodsInfoResp_01, 1, LoginData)
|
AddGoodsResp = ymc.add_cart_goods(GetGoodsInfoResp_01, 2, LoginData)
|
||||||
|
|
||||||
allure.step("\n步骤7:退购一件商品")
|
allure.step("\n步骤7:退购一件商品")
|
||||||
GetGoodsInfoList = [GetGoodsInfoResp_01]
|
GetGoodsInfoList = [GetGoodsInfoResp_01]
|
||||||
self.ymc.delete_cart_goods(GetGoodsInfoList, LoginData, AddGoodsResp)
|
AddGoodsResp_List = [AddGoodsResp]
|
||||||
|
ymc.delete_cart_goods(GetGoodsInfoList, LoginData, AddGoodsResp_List)
|
||||||
|
|
||||||
allure.step("步骤5:获取购物车商品信息")
|
allure.step("步骤5:获取购物车商品信息")
|
||||||
self.ymc.get_cart_goods_info([GetGoodsInfoResp_01])
|
ymc.get_cart_goods_info()
|
||||||
allure.step("步骤6:请求订单结算")
|
allure.step("步骤6:请求订单结算")
|
||||||
self.ymc.request_order_settlement(LoginData)
|
ymc.request_order_settlement(LoginData)
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---商品 {PieceRateGoods} 不存在")
|
pytest.fail(f"---商品 {data["PieceRateGoods"]} 不存在")
|
||||||
pytest.fail(f"---商品 {PieceRateGoods} 不存在")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
@ -3,13 +3,11 @@
|
|||||||
# @Author:: Arthur Wu
|
# @Author:: Arthur Wu
|
||||||
# @Description:: 匿名登录,加购计重商品,并结算
|
# @Description:: 匿名登录,加购计重商品,并结算
|
||||||
# @Date:: 2024/11/22
|
# @Date:: 2024/11/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 = "Anon017-匿名登录,加购计重商品,并结算"
|
DescName = "Anon017-匿名登录,加购计重商品,并结算"
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CAnon017(unittest.TestCase):
|
class Test_CAnon017(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/22
|
f'''@Date:: 2024/11/22
|
||||||
@ -17,30 +15,28 @@ class Test_CAnon017(unittest.TestCase):
|
|||||||
@Desc::
|
@Desc::
|
||||||
[购物车客户端] {DescName}
|
[购物车客户端] {DescName}
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
@ddt.data(*DataInit)
|
||||||
self.timestamp = int(time.time())
|
def test_CAnon017(self,data):
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.bulk_goods = BulkGoods["GoodsInputcode"]
|
|
||||||
|
|
||||||
def test_CAnon017(self):
|
|
||||||
allure.dynamic.description(f"描述:{DescName}\n")
|
allure.dynamic.description(f"描述:{DescName}\n")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
bulk_goods = data["MisspellingWeightGoods"]["GoodsInputcode"]
|
||||||
|
|
||||||
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:获取商品信息")
|
||||||
GetGoodsInfoResp_01 = self.ymc.get_goods_info(self.bulk_goods)
|
GetGoodsInfoResp_01 = ymc.get_goods_info(bulk_goods)
|
||||||
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤4:添加会员有优惠商品")
|
allure.step("步骤4:添加会员有优惠商品")
|
||||||
self.ymc.add_cart_goods(GetGoodsInfoResp_01, 1, LoginData)
|
ymc.add_cart_goods(GetGoodsInfoResp_01, 1, LoginData)
|
||||||
allure.step("步骤5:获取购物车商品信息")
|
allure.step("步骤5:获取购物车商品信息")
|
||||||
self.ymc.get_cart_goods_info([GetGoodsInfoResp_01])
|
ymc.get_cart_goods_info([GetGoodsInfoResp_01])
|
||||||
allure.step("步骤6:请求订单结算")
|
allure.step("步骤6:请求订单结算")
|
||||||
self.ymc.request_order_settlement(LoginData)
|
ymc.request_order_settlement(LoginData)
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---商品 {BulkGoods} 不存在")
|
pytest.fail(f"---商品 {data["MisspellingWeightGoods"]} 不存在")
|
||||||
pytest.fail(f"---商品 {BulkGoods} 不存在")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
@ -3,13 +3,12 @@
|
|||||||
# @Author:: Arthur Wu
|
# @Author:: Arthur Wu
|
||||||
# @Description:: 匿名登录,加购计重商品,并退购
|
# @Description:: 匿名登录,加购计重商品,并退购
|
||||||
# @Date:: 2024/11/21
|
# @Date:: 2024/11/21
|
||||||
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 = "Anon018-匿名登录,加购计重商品,并退购"
|
DescName = "Anon018-匿名登录,加购计重商品,并退购"
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CAnon018(unittest.TestCase):
|
class Test_CAnon018(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/15
|
f'''@Date:: 2024/11/15
|
||||||
@ -20,35 +19,35 @@ class Test_CAnon018(unittest.TestCase):
|
|||||||
1)加购计件或计重商品
|
1)加购计件或计重商品
|
||||||
2)退购一件
|
2)退购一件
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
@ddt.data(*DataInit)
|
||||||
self.timestamp = int(time.time())
|
def test_CAnon018(self,data):
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.bulk_goods = BulkGoods["GoodsInputcode"]
|
|
||||||
|
|
||||||
def test_CAnon018(self):
|
|
||||||
allure.dynamic.description(f"描述:{DescName}\n")
|
allure.dynamic.description(f"描述:{DescName}\n")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
bulk_goods = data["MisspellingWeightGoods"]["GoodsInputcode"]
|
||||||
|
|
||||||
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:获取商品信息")
|
||||||
GetGoodsInfoResp_01 = self.ymc.get_goods_info(self.bulk_goods)
|
GetGoodsInfoResp_01 = ymc.get_goods_info(bulk_goods)
|
||||||
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤4:添加会员有优惠商品")
|
allure.step("步骤4:添加会员有优惠商品")
|
||||||
AddGoodsResp = self.ymc.add_cart_goods(GetGoodsInfoResp_01, 1, LoginData)
|
AddGoodsResp = ymc.add_cart_goods(GetGoodsInfoResp_01, 1, LoginData)
|
||||||
|
|
||||||
allure.step("\n步骤5:退购一件商品")
|
allure.step("\n步骤5:退购一件商品")
|
||||||
GetGoodsInfoList = [GetGoodsInfoResp_01]
|
GetGoodsInfoList = [GetGoodsInfoResp_01]
|
||||||
self.ymc.delete_cart_goods(GetGoodsInfoList, LoginData, AddGoodsResp)
|
AddGoodsResp_List = [AddGoodsResp]
|
||||||
|
ymc.delete_cart_goods(GetGoodsInfoList, LoginData, AddGoodsResp_List)
|
||||||
|
|
||||||
allure.step("步骤6:获取购物车商品信息")
|
allure.step("步骤6:获取购物车商品信息")
|
||||||
self.ymc.get_cart_goods_info([GetGoodsInfoResp_01])
|
ymc.get_cart_goods_info([GetGoodsInfoResp_01])
|
||||||
allure.step("步骤7:请求订单结算")
|
allure.step("步骤7:请求订单结算")
|
||||||
self.ymc.request_order_settlement(LoginData)
|
ymc.request_order_settlement(LoginData)
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---商品 {BulkGoods} 不存在")
|
LOGGER.info(f"---商品 {data["MisspellingWeightGoods"]} 不存在")
|
||||||
pytest.fail(f"---商品 {BulkGoods} 不存在")
|
pytest.fail(f"---商品 {data["MisspellingWeightGoods"]} 不存在")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
@ -3,13 +3,12 @@
|
|||||||
# @Author:: Arthur Wu
|
# @Author:: Arthur Wu
|
||||||
# @Date:: 2024/11/15-14:43
|
# @Date:: 2024/11/15-14:43
|
||||||
# @Description::
|
# @Description::
|
||||||
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 = "NoLogin001-购物车客户端-广告"
|
DescName = "NoLogin001-购物车客户端-广告"
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CNoLogin001(unittest.TestCase):
|
class Test_CNoLogin001(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/15
|
f'''@Date:: 2024/11/15
|
||||||
@ -17,13 +16,12 @@ class Test_CNoLogin001(unittest.TestCase):
|
|||||||
@Desc::
|
@Desc::
|
||||||
[购物车客户端] {DescName}
|
[购物车客户端] {DescName}
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
@ddt.data(*DataInit)
|
||||||
self.timestamp = int(time.time())
|
def test_CNoLogin001_CheckADs(self,data):
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
|
|
||||||
def test_CNoLogin001_CheckADs(self):
|
|
||||||
allure.dynamic.description(f"描述:{DescName}")
|
allure.dynamic.description(f"描述:{DescName}")
|
||||||
AdListData = self.ymc.get_ads_list()
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
|
||||||
|
AdListData = ymc.get_ads_list()
|
||||||
if AdListData['data'] != []:
|
if AdListData['data'] != []:
|
||||||
if "error_msg" not in AdListData:
|
if "error_msg" not in AdListData:
|
||||||
adIdList = []
|
adIdList = []
|
||||||
@ -31,7 +29,7 @@ class Test_CNoLogin001(unittest.TestCase):
|
|||||||
adIdList.append(ad['id'])
|
adIdList.append(ad['id'])
|
||||||
LOGGER.info(f"---adIdList: {adIdList}---\n")
|
LOGGER.info(f"---adIdList: {adIdList}---\n")
|
||||||
for adId in adIdList:
|
for adId in adIdList:
|
||||||
self.ymc.query_ad_detail(str(adId))
|
ymc.query_ad_detail(str(adId))
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---该商超未配置广告---\n")
|
LOGGER.info(f"---该商超未配置广告---\n")
|
||||||
pytest.fail(f"---该商超未配置广告---\n")
|
pytest.fail(f"---该商超未配置广告---\n")
|
@ -3,79 +3,78 @@
|
|||||||
# @Author:: Arthur Wu
|
# @Author:: Arthur Wu
|
||||||
# @Description:: 游客转会员登录,加购购物袋,并结算
|
# @Description:: 游客转会员登录,加购购物袋,并结算
|
||||||
# @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 = "Vip001-游客转会员登录,加购购物袋,并结算"
|
DescName = "Vip001-游客转会员登录,加购购物袋,并结算"
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CVip001_AddShoppingBagAndSettlePayment(unittest.TestCase):
|
class Test_CVip001_AddShoppingBagAndSettlePayment(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/20
|
f'''@Date:: 2024/11/20
|
||||||
@Author:: Arthur Wu
|
@Author:: Arthur Wu
|
||||||
@Desc::
|
@Desc::
|
||||||
[购物车客户端] {DescName}
|
[购物车客户端] {DescName}
|
||||||
1、武商测试环境,购物袋inputcode为:
|
|
||||||
6971648922990、6971648922983
|
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
@ddt.data(*DataInit)
|
||||||
self.timestamp = int(time.time())
|
def test_CVip00101_AddMidShoppingbagsForPurchase(self,data):
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.vip_phone_num = VIPPhoneNumber
|
|
||||||
self.goodsbag_mid = GoodsBagInputcode_mid
|
|
||||||
self.goodsbag_max = GoodsBagInputcode_max
|
|
||||||
|
|
||||||
def test_CVip00101_AddMidShoppingbagsForPurchase(self):
|
|
||||||
allure.dynamic.description(f"描述:加购中号购物袋")
|
allure.dynamic.description(f"描述:加购中号购物袋")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
vip_phone_num = data["VIPPhoneNumber"]
|
||||||
|
goodsbag_mid = data["ShoppingBag"]["mid"]
|
||||||
|
goodsbag_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)
|
||||||
|
|
||||||
allure.step("步骤3:切换会员登录")
|
allure.step("步骤3:切换会员登录")
|
||||||
Payload02 = {"action": 1, "code": self.vip_phone_num, "isAnon": False}
|
Payload02 = {"action": 1, "code": vip_phone_num, "isAnon": False}
|
||||||
self.ymc.login_app_v2(Payload02)
|
ymc.login_app_v2(Payload02)
|
||||||
|
|
||||||
allure.step("步骤4:获取商品信息")
|
allure.step("步骤4:获取商品信息")
|
||||||
GoodsInfoData = self.ymc.get_goods_info(self.goodsbag_mid)
|
GoodsInfoData = ymc.get_goods_info(goodsbag_mid)
|
||||||
if GoodsInfoData['msg'] != '加购商品不存在':
|
if GoodsInfoData['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤5:添加购物袋")
|
allure.step("步骤5:添加购物袋")
|
||||||
self.ymc.add_cart_goods(GoodsInfoData, 2, LoginData)
|
ymc.add_cart_goods(GoodsInfoData, 2, LoginData)
|
||||||
allure.step("步骤6:获取购物车商品信息")
|
allure.step("步骤6:获取购物车商品信息")
|
||||||
self.ymc.get_cart_goods_info([GoodsInfoData])
|
ymc.get_cart_goods_info([GoodsInfoData])
|
||||||
allure.step("步骤7:请求订单结算")
|
allure.step("步骤7:请求订单结算")
|
||||||
self.ymc.request_order_settlement(LoginData)
|
ymc.request_order_settlement(LoginData)
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---购物袋 {self.goodsbag_mid} 不存在")
|
pytest.fail(f"---购物袋 {goodsbag_mid} 不存在")
|
||||||
pytest.fail(f"---购物袋 {self.goodsbag_mid} 不存在")
|
|
||||||
|
|
||||||
def test_CVip00102_AddMaxShoppingbagsForPurchase(self):
|
@ddt.data(*DataInit)
|
||||||
|
def test_CVip00102_AddMaxShoppingbagsForPurchase(self,data):
|
||||||
allure.dynamic.description("描述:加购大号购物袋")
|
allure.dynamic.description("描述:加购大号购物袋")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
vip_phone_num = data["VIPPhoneNumber"]
|
||||||
|
goodsbag_mid = data["ShoppingBag"]["mid"]
|
||||||
|
goodsbag_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)
|
||||||
|
|
||||||
allure.step("步骤3:切换会员登录")
|
allure.step("步骤3:切换会员登录")
|
||||||
Payload02 = {"action": 1, "code": self.vip_phone_num, "isAnon": False}
|
Payload02 = {"action": 1, "code": vip_phone_num, "isAnon": False}
|
||||||
self.ymc.login_app_v2(Payload02)
|
ymc.login_app_v2(Payload02)
|
||||||
|
|
||||||
allure.step("步骤4:获取商品信息")
|
allure.step("步骤4:获取商品信息")
|
||||||
GoodsInfoData = self.ymc.get_goods_info(self.goodsbag_max)
|
GoodsInfoData = ymc.get_goods_info(goodsbag_max)
|
||||||
if GoodsInfoData['msg'] != '加购商品不存在':
|
if GoodsInfoData['msg'] != '加购商品不存在':
|
||||||
allure.step("步骤5:添加购物袋")
|
allure.step("步骤5:添加购物袋")
|
||||||
self.ymc.add_cart_goods(GoodsInfoData, 2, LoginData)
|
ymc.add_cart_goods(GoodsInfoData, 2, LoginData)
|
||||||
allure.step("步骤6:获取购物车商品信息")
|
allure.step("步骤6:获取购物车商品信息")
|
||||||
self.ymc.get_cart_goods_info([GoodsInfoData])
|
ymc.get_cart_goods_info([GoodsInfoData])
|
||||||
allure.step("步骤7:请求订单结算")
|
allure.step("步骤7:请求订单结算")
|
||||||
self.ymc.request_order_settlement(LoginData)
|
ymc.request_order_settlement(LoginData)
|
||||||
else:
|
else:
|
||||||
LOGGER.info(f"---购物袋 {self.goodsbag_max} 不存在")
|
pytest.fail(f"购物袋 {goodsbag_max} 不存在")
|
||||||
pytest.fail(f"购物袋 {self.goodsbag_max} 不存在")
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
@ -0,0 +1,49 @@
|
|||||||
|
# !/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 = "Vip002-游客转会员登录,加购普通商品,并结算"
|
||||||
|
@ddt.ddt
|
||||||
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
|
class Test_CVip002(unittest.TestCase):
|
||||||
|
f'''@Date:: 2024/11/15
|
||||||
|
@Author:: Arthur Wu
|
||||||
|
@Desc::
|
||||||
|
[购物车客户端] {DescName}
|
||||||
|
'''
|
||||||
|
@ddt.data(*DataInit)
|
||||||
|
def test_CVip002_AddNonDiscountedProductsForPurchase(self,data):
|
||||||
|
allure.dynamic.description(f"描述:{DescName}")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
vip_phone_num = data["VIPPhoneNumber"]
|
||||||
|
NormalGoodsInputcode01 = data["NormalGoods"]["goods01"]
|
||||||
|
|
||||||
|
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:获取商品信息")
|
||||||
|
GoodsInfoData = ymc.get_goods_info(InputCode=NormalGoodsInputcode01)
|
||||||
|
if GoodsInfoData['msg'] != '加购商品不存在':
|
||||||
|
allure.step("步骤5:添加无优惠商品")
|
||||||
|
ymc.add_cart_goods(GoodsInfoData, 5, LoginData)
|
||||||
|
allure.step("步骤6:获取购物车商品信息")
|
||||||
|
ymc.get_cart_goods_info([GoodsInfoData])
|
||||||
|
allure.step("步骤7:请求订单结算")
|
||||||
|
ymc.request_order_settlement(LoginData)
|
||||||
|
else:
|
||||||
|
pytest.fail(f"---商品 {NormalGoodsInputcode01} 不存在")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main(verbosity=2)
|
@ -0,0 +1,49 @@
|
|||||||
|
# !/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 = "Vip003-游客转会员登录,加购会员商品,并结算"
|
||||||
|
@ddt.ddt
|
||||||
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
|
class Test_CVip003(unittest.TestCase):
|
||||||
|
f'''@Date:: 2024/11/20
|
||||||
|
@Author:: Arthur Wu
|
||||||
|
@Desc::
|
||||||
|
[购物车客户端] {DescName}
|
||||||
|
'''
|
||||||
|
@ddt.data(*DataInit)
|
||||||
|
def test_CVip003_AddMemberProductsForPurchase(self,data):
|
||||||
|
allure.dynamic.description(f"描述:{DescName}")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
vip_phone_num = data["VIPPhoneNumber"]
|
||||||
|
vip_goods_inputcode = data["VipGoods"]["goods01"]
|
||||||
|
|
||||||
|
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:获取商品信息")
|
||||||
|
GoodsInfoData = ymc.get_goods_info(vip_goods_inputcode)
|
||||||
|
if GoodsInfoData['msg'] != '加购商品不存在':
|
||||||
|
allure.step("步骤5:添加会员有优惠商品")
|
||||||
|
ymc.add_cart_goods(GoodsInfoData, 1, LoginData)
|
||||||
|
allure.step("步骤6:获取购物车商品信息")
|
||||||
|
ymc.get_cart_goods_info([GoodsInfoData])
|
||||||
|
allure.step("步骤7:请求订单结算")
|
||||||
|
ymc.request_order_settlement(LoginData)
|
||||||
|
else:
|
||||||
|
pytest.fail(f"---商品 {vip_goods_inputcode} 不存在")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main(verbosity=2)
|
@ -0,0 +1,58 @@
|
|||||||
|
# !/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
|
||||||
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
|
class Test_CVip004(unittest.TestCase):
|
||||||
|
f'''@Date:: 2024/11/15
|
||||||
|
@Author:: Arthur Wu
|
||||||
|
@Desc::
|
||||||
|
[购物车客户端] {DescName}
|
||||||
|
1、武商测试环境,多件商品的 inputcode 分别为:
|
||||||
|
'''
|
||||||
|
@ddt.data(*DataInit)
|
||||||
|
def test_CVip004_AddMultipleItemsForPurchase(self,data):
|
||||||
|
allure.dynamic.description(f"描述:{DescName}")
|
||||||
|
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)
|
@ -3,52 +3,47 @@
|
|||||||
# @Author:: Arthur Wu
|
# @Author:: Arthur Wu
|
||||||
# @Description:: 游客转会员登录,加购打折商品,并结算
|
# @Description:: 游客转会员登录,加购打折商品,并结算
|
||||||
# @Date:: 2024/11/21
|
# @Date:: 2024/11/21
|
||||||
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 = "Vip005-游客转会员登录,加购打折商品,并结算"
|
DescName = "Vip005-游客转会员登录,加购打折商品,并结算"
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CVip005(unittest.TestCase):
|
class Test_CVip005(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/21
|
f'''@Date:: 2024/11/21
|
||||||
@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_CVip005_AddDiscountedProductsForPurchase(self,data):
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.vip_phone_num = VIPPhoneNumber
|
|
||||||
self.sale_goods_inputCode = SaleGoodsInputCode
|
|
||||||
|
|
||||||
def test_CVip005_AddDiscountedProductsForPurchase(self):
|
|
||||||
allure.dynamic.description(f"描述:{DescName}")
|
allure.dynamic.description(f"描述:{DescName}")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
vip_phone_num = data["VIPPhoneNumber"]
|
||||||
|
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:切换会员登录")
|
||||||
Payload02 = {"action": 1, "code": self.vip_phone_num, "isAnon": False}
|
Payload02 = {"action": 1, "code": vip_phone_num, "isAnon": False}
|
||||||
self.ymc.login_app_v2(Payload02)
|
ymc.login_app_v2(Payload02)
|
||||||
|
|
||||||
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__':
|
@ -0,0 +1,71 @@
|
|||||||
|
# !/usr/bin/python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# @Author:: Arthur Wu
|
||||||
|
# @Description:: 游客转会员登录,加购促销白名单商品,并结算
|
||||||
|
# @Date:: 2024/11/21
|
||||||
|
import unittest,allure,time,pytest,ddt
|
||||||
|
from configs.globalObj import LOGGER
|
||||||
|
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||||
|
from YiMao.businessFunc.ServiceApiLib import YMServiceApi
|
||||||
|
from configs.globalParams import DataInit
|
||||||
|
DescName = "Vip006-游客转会员登录,加购促销白名单商品,并结算"
|
||||||
|
@ddt.ddt
|
||||||
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
|
class Test_CVip006(unittest.TestCase):
|
||||||
|
f'''@Date:: 2024/11/15
|
||||||
|
@Author:: Arthur Wu
|
||||||
|
@Desc::
|
||||||
|
[购物车客户端] {DescName}
|
||||||
|
'''
|
||||||
|
@ddt.data(*DataInit)
|
||||||
|
def test_CVip006_AddPromotionalWhitelistProducts(self,data):
|
||||||
|
allure.dynamic.description(f"描述:{DescName}")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
yms = YMServiceApi()
|
||||||
|
vip_phone_num = data["VIPPhoneNumber"]
|
||||||
|
promotional_whitelist_goods = data["PromotionalWhitelistGoods"]
|
||||||
|
market_and_store_info = {
|
||||||
|
"MarketId": data["MarketAndStoreDetails"]["putMarketId"],
|
||||||
|
"StoreId": data["MarketAndStoreDetails"]["putStoreId"][0]
|
||||||
|
}
|
||||||
|
|
||||||
|
allure.step("[前置条件]:先调用管理平台接口,将指定商品添加到促销白名单中")
|
||||||
|
pre_respomse =yms.add_promotional_product_whitelist(
|
||||||
|
promotional_whitelist_goods,market_and_store_info
|
||||||
|
)
|
||||||
|
if pre_respomse['data'] is not None:
|
||||||
|
LOGGER.info(f"---商品 {promotional_whitelist_goods['GoodsInputcode']} "
|
||||||
|
f"已添加到促销白名单中")
|
||||||
|
allure.step("[业务步骤]:再调用客户端接口,执行加购操作")
|
||||||
|
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("步骤3:获取白名单商品信息")
|
||||||
|
GoodsInfoData1 =ymc.get_goods_info(promotional_whitelist_goods["GoodsInputcode"])
|
||||||
|
if GoodsInfoData1['msg'] != '加购商品不存在':
|
||||||
|
allure.step("步骤4:加购白名单商品")
|
||||||
|
ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
|
||||||
|
allure.step("步骤5:获取购物车商品信息")
|
||||||
|
ymc.get_cart_goods_info([GoodsInfoData1])
|
||||||
|
allure.step("步骤6:请求订单结算")
|
||||||
|
ymc.request_order_settlement(LoginData)
|
||||||
|
allure.step("[后置处理]:删除添加的促销白名单商品")
|
||||||
|
yms.delete_whitelist_goods()
|
||||||
|
else:
|
||||||
|
allure.step("[后置处理]:删除添加的促销白名单商品")
|
||||||
|
yms.delete_whitelist_goods()
|
||||||
|
pytest.fail(f"商品 {promotional_whitelist_goods["GoodsInputcode"]}不存在")
|
||||||
|
else:
|
||||||
|
pytest.fail(f"---添加商品 {promotional_whitelist_goods['GoodsInputcode']} "
|
||||||
|
f"到促销白名单失败")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main(verbosity=2)
|
@ -0,0 +1,77 @@
|
|||||||
|
# !/usr/bin/python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# @Author:: Arthur Wu
|
||||||
|
# @Description:: 游客转会员登录,加购重量放通商品,并结算
|
||||||
|
# @Date:: 2024/11/21
|
||||||
|
import unittest,allure,time,pytest,ddt
|
||||||
|
from configs.globalObj import LOGGER
|
||||||
|
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||||
|
from YiMao.businessFunc.ServiceApiLib import YMServiceApi
|
||||||
|
from configs.globalParams import DataInit
|
||||||
|
DescName = "Vip007-游客转会员登录,加购重量放通商品,并结算"
|
||||||
|
@ddt.ddt
|
||||||
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
|
class Test_CVip007(unittest.TestCase):
|
||||||
|
f'''@Date:: 2024/11/15
|
||||||
|
@Author:: Arthur Wu
|
||||||
|
@Desc::
|
||||||
|
[购物车客户端] {DescName}
|
||||||
|
'''
|
||||||
|
|
||||||
|
@ddt.data(*DataInit)
|
||||||
|
def test_CVip007_AddWeightToTheProduct(self,data):
|
||||||
|
allure.dynamic.description(f"描述:{DescName}")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
yms = YMServiceApi()
|
||||||
|
CartMac = data["ShoppingCartMac"]
|
||||||
|
NewStoreId = data["MarketAndStoreDetails"]["putStoreId"][0]
|
||||||
|
yms.update_the_store_to_which_the_shopping_cart_belongs(CartMac, NewStoreId)
|
||||||
|
time.sleep(1)
|
||||||
|
vip_phone_num = data["VIPPhoneNumber"]
|
||||||
|
weight_to_whitelist_goods = data["WeightToWhitelistGoods"]
|
||||||
|
market_and_store_info = {
|
||||||
|
"MarketId": data["MarketAndStoreDetails"]["putMarketId"],
|
||||||
|
"StoreId": data["MarketAndStoreDetails"]["putStoreId"][0]
|
||||||
|
}
|
||||||
|
|
||||||
|
allure.step("[前置条件]:先调用管理平台接口,将指定商品添加到重量放通白名单中")
|
||||||
|
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"---商品 {weight_to_whitelist_goods['GoodsInputcode']} "
|
||||||
|
f"已添加到重量放通白名单中")
|
||||||
|
''' 2-再调用客户端接口,执行加购操作 '''
|
||||||
|
allure.step("[业务步骤]:再调用客户端接口,执行加购操作")
|
||||||
|
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("步骤3:获取白名单商品信息")
|
||||||
|
GoodsInfoData1 = ymc.get_goods_info(weight_to_whitelist_goods["GoodsInputcode"])
|
||||||
|
if GoodsInfoData1['msg'] != '加购商品不存在':
|
||||||
|
allure.step("步骤4:加购白名单商品")
|
||||||
|
ymc.add_cart_goods(GoodsInfoData1, 1, LoginData)
|
||||||
|
allure.step("步骤5:获取购物车商品信息")
|
||||||
|
ymc.get_cart_goods_info([GoodsInfoData1])
|
||||||
|
allure.step("步骤6:请求订单结算")
|
||||||
|
ymc.request_order_settlement(LoginData)
|
||||||
|
allure.step("[后置处理]:删除添加的重量放通白名单商品")
|
||||||
|
yms.delete_weight_whitelist_goods()
|
||||||
|
else:
|
||||||
|
allure.step("[后置处理]:删除添加的重量放通白名单商品")
|
||||||
|
yms.delete_weight_whitelist_goods()
|
||||||
|
pytest.fail(f"---商品 {weight_to_whitelist_goods["GoodsInputcode"]} 不存在")
|
||||||
|
else:
|
||||||
|
pytest.fail(f"---添加商品 {weight_to_whitelist_goods['GoodsInputcode']} "
|
||||||
|
f"到重量放通白名单失败")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main(verbosity=2)
|
@ -3,67 +3,69 @@
|
|||||||
# @Author:: Arthur Wu
|
# @Author:: Arthur Wu
|
||||||
# @Description:: 游客转会员登录,加购2个购物袋,退购一个购物袋,并结算
|
# @Description:: 游客转会员登录,加购2个购物袋,退购一个购物袋,并结算
|
||||||
# @Date:: 2024/11/21
|
# @Date:: 2024/11/21
|
||||||
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 YiMao.businessFunc.ServiceApiLib import YMServiceApi
|
||||||
|
from configs.globalParams import DataInit
|
||||||
|
|
||||||
DescName = "Vip008-游客转会员登录,加购2个购物袋,退购一个购物袋,并结算"
|
DescName = "Vip008-游客转会员登录,加购2个购物袋,退购一个购物袋,并结算"
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CVip008(unittest.TestCase):
|
class Test_CVip008(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/20
|
f'''@Date:: 2024/11/20
|
||||||
@Author:: Arthur Wu
|
@Author:: Arthur Wu
|
||||||
@Desc::
|
@Desc::
|
||||||
[购物车客户端] {DescName}
|
[购物车客户端] {DescName}
|
||||||
1、武商测试环境,购物袋的 inputcode 分别为:
|
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
|
||||||
self.timestamp = int(time.time())
|
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.vip_phone_num = VIPPhoneNumber
|
|
||||||
self.shoppingbag_mid = GoodsBagInputcode_mid
|
|
||||||
self.shoppingbag_max = GoodsBagInputcode_max
|
|
||||||
|
|
||||||
def test_CVip008_ReturnShoppingBag(self):
|
@ddt.data(*DataInit)
|
||||||
|
def test_CVip008_ReturnShoppingBag(self,data):
|
||||||
allure.dynamic.description(f"描述:{DescName}")
|
allure.dynamic.description(f"描述:{DescName}")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
yms = YMServiceApi()
|
||||||
|
CartMac = data["ShoppingCartMac"]
|
||||||
|
NewStoreId = data["MarketAndStoreDetails"]["putStoreId"][0]
|
||||||
|
yms.update_the_store_to_which_the_shopping_cart_belongs(CartMac, NewStoreId)
|
||||||
|
time.sleep(1)
|
||||||
|
vip_phone_num = data["VIPPhoneNumber"]
|
||||||
|
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)
|
||||||
|
|
||||||
allure.step("步骤3:切换会员登录")
|
allure.step("步骤3:切换会员登录")
|
||||||
Payload02 = {"action": 1, "code": self.vip_phone_num, "isAnon": False}
|
Payload02 = {"action": 1, "code": vip_phone_num, "isAnon": False}
|
||||||
self.ymc.login_app_v2(Payload02)
|
ymc.login_app_v2(Payload02)
|
||||||
|
|
||||||
'''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,67 +3,70 @@
|
|||||||
# @Author:: Arthur Wu
|
# @Author:: Arthur Wu
|
||||||
# @Description:: 游客转会员登录,加购2个普通商品,退购一个,并结算
|
# @Description:: 游客转会员登录,加购2个普通商品,退购一个,并结算
|
||||||
# @Date:: 2024/11/21
|
# @Date:: 2024/11/21
|
||||||
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 YiMao.businessFunc.ServiceApiLib import YMServiceApi
|
||||||
|
from configs.globalParams import DataInit
|
||||||
|
|
||||||
DescName = "Vip009-游客转会员登录,加购2个普通商品,退购一个,并结算"
|
DescName = "Vip009-游客转会员登录,加购2个普通商品,退购一个,并结算"
|
||||||
|
|
||||||
|
@ddt.ddt
|
||||||
@allure.story(f'[场景测试] {DescName}验证')
|
@allure.story(f'[场景测试] {DescName}验证')
|
||||||
class Test_CVip009(unittest.TestCase):
|
class Test_CVip009(unittest.TestCase):
|
||||||
f'''@Date:: 2024/11/20
|
f'''@Date:: 2024/11/20
|
||||||
@Author:: Arthur Wu
|
@Author:: Arthur Wu
|
||||||
@Desc::
|
@Desc::
|
||||||
[购物车客户端] {DescName}
|
[购物车客户端] {DescName}
|
||||||
1、武商测试环境,2个普通商品 inputcode 分别为:
|
|
||||||
'''
|
'''
|
||||||
def setUp(self) -> None:
|
|
||||||
self.timestamp = int(time.time())
|
|
||||||
self.ymc = YMClientApi(ShoppingCartMac)
|
|
||||||
self.vip_phone_num = VIPPhoneNumber
|
|
||||||
self.goods_01 = NormalGoodsInputcode01
|
|
||||||
self.goods_02 = NormalGoodsInputcode02
|
|
||||||
|
|
||||||
def test_CVip009_ReturnPurchaseOfOrdinaryGoods(self):
|
@ddt.data(*DataInit)
|
||||||
|
def test_CVip009_ReturnPurchaseOfOrdinaryGoods(self, data):
|
||||||
allure.dynamic.description(f"描述:{DescName}")
|
allure.dynamic.description(f"描述:{DescName}")
|
||||||
|
ymc = YMClientApi(data["ShoppingCartMac"])
|
||||||
|
yms = YMServiceApi()
|
||||||
|
CartMac = data["ShoppingCartMac"]
|
||||||
|
NewStoreId = data["MarketAndStoreDetails"]["putStoreId"][0]
|
||||||
|
yms.update_the_store_to_which_the_shopping_cart_belongs(CartMac, NewStoreId)
|
||||||
|
time.sleep(1)
|
||||||
|
vip_phone_num = data["VIPPhoneNumber"]
|
||||||
|
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)
|
||||||
|
|
||||||
allure.step("步骤3:切换会员登录")
|
allure.step("步骤3:切换会员登录")
|
||||||
Payload02 = {"action": 1, "code": self.vip_phone_num, "isAnon": False}
|
Payload02 = {"action": 1, "code": vip_phone_num, "isAnon": False}
|
||||||
self.ymc.login_app_v2(Payload02)
|
ymc.login_app_v2(Payload02)
|
||||||
|
|
||||||
'''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)
|
ymc.delete_cart_goods(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.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__':
|
@ -12,4 +12,4 @@ ReportsURL: http://192.168.1.165
|
|||||||
|
|
||||||
# 4-联测测试的商超列表: WuShang\ZhongBai\YongHui\JiajiaYue
|
# 4-联测测试的商超列表: WuShang\ZhongBai\YongHui\JiajiaYue
|
||||||
MarketsArray:
|
MarketsArray:
|
||||||
- ZhongBai
|
- WuShang
|
@ -31,13 +31,10 @@ def __data_init():
|
|||||||
DataList = []
|
DataList = []
|
||||||
for fn in ProCfgData["MarketsArray"]:
|
for fn in ProCfgData["MarketsArray"]:
|
||||||
FP = os.path.join(GlobalPath["YMDataPath"], fn+".yaml").replace("\\", "/")
|
FP = os.path.join(GlobalPath["YMDataPath"], fn+".yaml").replace("\\", "/")
|
||||||
print(f"---market scene test data file path: {FP}---")
|
|
||||||
data = yam().read_yaml(FP)
|
data = yam().read_yaml(FP)
|
||||||
DataList.append(data)
|
DataList.append(data)
|
||||||
return DataList
|
return DataList
|
||||||
DataInit = __data_init()
|
DataInit = __data_init()
|
||||||
print(f"---DataInit: {DataInit}")
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user