Arthur-Wu committed this file on 2024-11-26

This commit is contained in:
ieemoo 2024-11-26 15:07:46 +08:00
parent a18431f788
commit b7a15520d9
31 changed files with 731 additions and 661 deletions

View File

@ -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("步骤1session开始")
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)

View File

@ -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("步骤1session开始")
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)

View File

@ -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("步骤1session开始")
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)

View File

@ -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("步骤1session开始")
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)

View File

@ -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("步骤1session开始")
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)

View File

@ -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}")

View File

@ -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
View 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:

View File

@ -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
View 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:

View File

@ -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

View File

@ -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("步骤1session开始") allure.step("步骤1session开始")
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__':

View File

@ -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("步骤1session开始") allure.step("步骤1session开始")
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__':

View File

@ -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("步骤1session开始") allure.step("步骤1session开始")
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)

View File

@ -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("步骤1session开始") allure.step("步骤1session开始")
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)
allure.step("[后置处理]:删除添加的重量放通白名单商品")
yms.delete_weight_whitelist_goods()
else: else:
LOGGER.info(f"---商品 {self.weight_to_whitelist_goods["GoodsInputcode"]} 不存在") allure.step("[后置处理]:删除添加的重量放通白名单商品")
pytest.fail(f"---商品 {self.weight_to_whitelist_goods['GoodsInputcode']} 不存在") yms.delete_weight_whitelist_goods()
pytest.fail(f"---商品 {weight_to_whitelist_goods['GoodsInputcode']} 不存在")
else: else:
LOGGER.info(f"---添加商品 {self.weight_to_whitelist_goods['GoodsInputcode']} " pytest.fail(f"---添加商品 {weight_to_whitelist_goods['GoodsInputcode']} "
f"到重量放通白名单失败")
pytest.fail(f"---添加商品 {self.weight_to_whitelist_goods['GoodsInputcode']} "
f"到重量放通白名单失败") f"到重量放通白名单失败")
def tearDown(self) -> None:
allure.step("[后置处理]:删除添加的重量放通白名单商品")
self.yms.delete_weight_whitelist_goods()
if __name__ == '__main__': if __name__ == '__main__':
unittest.main(verbosity=2) unittest.main(verbosity=2)

View File

@ -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("步骤1session开始") allure.step("步骤1session开始")
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__':

View File

@ -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("步骤1session开始") allure.step("步骤1session开始")
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__':

View File

@ -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("步骤1session开始") allure.step("步骤1session开始")
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__':

View File

@ -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("步骤1session开始") allure.step("步骤1session开始")
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__':

View File

@ -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")

View File

@ -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为
69716489229906971648922983
''' '''
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("步骤1session开始") allure.step("步骤1session开始")
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("步骤1session开始") allure.step("步骤1session开始")
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__':

View File

@ -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("步骤1session开始")
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)

View File

@ -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("步骤1session开始")
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)

View File

@ -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("步骤1session开始")
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)

View File

@ -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("步骤1session开始") allure.step("步骤1session开始")
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__':

View File

@ -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("步骤1session开始")
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)

View File

@ -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("步骤1session开始")
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)

View File

@ -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("步骤1session开始") allure.step("步骤1session开始")
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__':

View File

@ -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("步骤1session开始") allure.step("步骤1session开始")
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__':

View File

@ -12,4 +12,4 @@ ReportsURL: http://192.168.1.165
# 4-联测测试的商超列表: WuShang\ZhongBai\YongHui\JiajiaYue # 4-联测测试的商超列表: WuShang\ZhongBai\YongHui\JiajiaYue
MarketsArray: MarketsArray:
- ZhongBai - WuShang

View File

@ -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}")