Arthur-Wu committed this file on 2024-11-21
This commit is contained in:
parent
caeb8481f2
commit
0cf0c9d8f7
@ -1,5 +0,0 @@
|
||||
# !/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 加购计件商品,并退购
|
||||
# @Date:: 2024/11/21
|
@ -1,5 +0,0 @@
|
||||
# !/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 加购计重商品,并结算
|
||||
# @Date:: 2024/11/21
|
@ -1,5 +0,0 @@
|
||||
# !/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 加购计重商品,并退购
|
||||
# @Date:: 2024/11/21
|
@ -1,5 +1,65 @@
|
||||
# !/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 加购1件重量待核验商品,无法结算
|
||||
# @Date:: 2024/11/21
|
||||
# @Description:: 匿名登录,加购1件重量待核验商品,无法结算
|
||||
# @Date:: 2024/11/22
|
||||
import unittest,allure,time,pytest
|
||||
from configs.globalObj import LOGGER
|
||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||
from YiMao.data.WuShangSceneTestData import *
|
||||
|
||||
|
||||
DescName = "Anon019-匿名登录,加购1件重量待核验商品,无法结算"
|
||||
@allure.story(f'[场景测试] {DescName}验证')
|
||||
class Test_CAnon019(unittest.TestCase):
|
||||
f'''@Date:: 2024/11/15
|
||||
@Author:: Arthur Wu
|
||||
@Desc::
|
||||
[购物车客户端] {DescName}
|
||||
'''
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.piece_rate_goods = PieceRateGoods["GoodsInputcode"]
|
||||
|
||||
def test_CAnon019(self):
|
||||
allure.dynamic.description(f"描述:{DescName}\n")
|
||||
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:获取商品信息")
|
||||
GetGoodsInfoResp_01 = self.ymc.get_goods_info(self.piece_rate_goods)
|
||||
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
||||
allure.step("步骤4:添加会员有优惠商品")
|
||||
AddGoodsResp = self.ymc.add_cart_goods(GetGoodsInfoResp_01, 1, LoginData)
|
||||
|
||||
# allure.step("\n步骤5:退购一件商品")
|
||||
# GetGoodsInfoList = [GetGoodsInfoResp_01]
|
||||
# self.ymc.delete_cart_goods(GetGoodsInfoList, LoginData, AddGoodsResp)
|
||||
|
||||
allure.step("步骤6:获取购物车商品信息")
|
||||
LOGGER.info(f"---获取购物车商品信息-1")
|
||||
self.ymc.get_cart_goods_info([GetGoodsInfoResp_01])
|
||||
allure.step("步骤7:请求订单结算")
|
||||
LOGGER.info(f"---请求订单结算-1")
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
|
||||
allure.step("步骤8:核验商品")
|
||||
self.ymc.verify_the_goods_through_verification()
|
||||
|
||||
allure.step("步骤6:获取购物车商品信息")
|
||||
LOGGER.info(f"---获取购物车商品信息-2")
|
||||
self.ymc.get_cart_goods_info([GetGoodsInfoResp_01])
|
||||
allure.step("步骤7:请求订单结算")
|
||||
LOGGER.info(f"---请求订单结算-2")
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
|
||||
else:
|
||||
LOGGER.info(f"---商品 {PieceRateGoods} 不存在")
|
||||
pytest.fail(f"---商品 {PieceRateGoods} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(verbosity=2)
|
@ -1,5 +0,0 @@
|
||||
# !/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 加购计件商品,并结算
|
||||
# @Date:: 2024/11/21
|
@ -1,5 +0,0 @@
|
||||
# !/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 加购计件商品,并退购
|
||||
# @Date:: 2024/11/21
|
@ -1,5 +0,0 @@
|
||||
# !/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 加购计重商品,并结算
|
||||
# @Date:: 2024/11/21
|
@ -1,5 +0,0 @@
|
||||
# !/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 加购计重商品,并退购
|
||||
# @Date:: 2024/11/21
|
@ -2,4 +2,4 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 加购1件重量待核验商品,无法结算
|
||||
# @Date:: 2024/11/21
|
||||
# @Date:: 2024/11/22
|
||||
|
@ -12,13 +12,11 @@ class YMClientApi(object):
|
||||
self.Domain = "https://api.test.yimaogo.com/cart"
|
||||
self.headerss = SignatureYM2(ShoppingCartMac)._headers()
|
||||
|
||||
''' 1- without sessionid '''
|
||||
def get_ads_list(self):
|
||||
logging.info("========== [获取广告列表] get_ads_list ==========")
|
||||
''' method 1 '''
|
||||
payload = {}
|
||||
url = self.Domain + "/v1/ads/list?areaCode&userId&barcode&adsAreaIds=1,2,3,4,5,6"
|
||||
logging.info(f"---url: {url}---")
|
||||
logging.info(f"---headers: {self.headerss}---")
|
||||
response = requests.request("GET", url, headers=self.headerss, data=payload)
|
||||
logging.info(f"-----------接口返回状态码:{response.status_code}")
|
||||
@ -34,7 +32,6 @@ class YMClientApi(object):
|
||||
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
|
||||
return response.json()
|
||||
|
||||
''' 2- sessionid must be started first '''
|
||||
def session_start(self):
|
||||
logging.info("========== [前置] session_start ==========")
|
||||
url = self.Domain+"/v1/session/start"
|
||||
@ -80,6 +77,7 @@ class YMClientApi(object):
|
||||
logging.info("========== [获取商品信息] get_goods_info ==========")
|
||||
payload = {}
|
||||
url = self.Domain+"/v2/shopping/{inputCode}".replace("{inputCode}", str(InputCode))
|
||||
logging.info(f"\n-----------获取商品信息url:{url}\n")
|
||||
response = requests.request("GET", url, headers=self.headerss, data=payload)
|
||||
logging.info(f"-----------接口返回状态码:{response.status_code}")
|
||||
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
|
||||
@ -101,7 +99,6 @@ class YMClientApi(object):
|
||||
"orderNo": LoginData["data"][0]["orderNo"]
|
||||
}, indent=4, ensure_ascii=False)
|
||||
url = self.Domain+"/v2/shopping/add/retire/purchase"
|
||||
logging.info(f"---加购商品请求体payload: {payload}---")
|
||||
response = requests.request("POST", url, headers=self.headerss, data=payload)
|
||||
logging.info(f"-----------接口返回状态码:{response.status_code}")
|
||||
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
|
||||
@ -247,10 +244,11 @@ class YMClientApi(object):
|
||||
for goods_data in GoodsDataList:
|
||||
goods_dict = {}
|
||||
goods_dict["inputCode"] = goods_data["data"]["inputCode"]
|
||||
goods_dict["qty"] = goods_data["data"]["qty"]
|
||||
goods_dict["qty"] = int(float((goods_data["data"]["qty"])))
|
||||
goods_dict["weight"] = int(goods_data["data"]["weight"])
|
||||
goods_param_lList.append(goods_dict)
|
||||
payload = json.dumps({"goodsParamList": goods_param_lList})
|
||||
payload = json.dumps({"goodsParamList": goods_param_lList}, indent=4, ensure_ascii=False)
|
||||
logging.info(f"-----------请求体为:{payload}")
|
||||
url = self.Domain+"/v2/shopping/cart/goods/info"
|
||||
response = requests.request("POST", url, headers=self.headerss, data=payload)
|
||||
logging.info(f"-----------接口返回状态码:{response.status_code}")
|
||||
@ -270,6 +268,19 @@ class YMClientApi(object):
|
||||
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
|
||||
return response.json()
|
||||
|
||||
def verify_the_goods_through_verification(self):
|
||||
logging.info("========== [验证商品通过验货] ==========")
|
||||
payload = json.dumps({
|
||||
"manualId": 65,
|
||||
"type": 1,
|
||||
"barcodes": []
|
||||
})
|
||||
url = self.Domain+"/v1/check/goods/update"
|
||||
response = requests.request("POST", url, headers=self.headerss, data=payload)
|
||||
logging.info(f"-----------接口返回状态码:{response.status_code}")
|
||||
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
|
||||
return response.json()
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -14,7 +14,6 @@ class YMServiceApi(object):
|
||||
self.Domain = "https://api.test.yimaogo.com/"
|
||||
self.headerss = SignatureYM().return_headers()
|
||||
|
||||
''' 1-广告模块 '''
|
||||
def publish_ad(self, ADDetailList, MarketAndStoreDetail):
|
||||
logging.info("========== [发布广告] ==========")
|
||||
def __publish(ADDetail, MarketAndStoreDetail):
|
||||
@ -111,11 +110,92 @@ class YMServiceApi(object):
|
||||
logging.info(f"---接口返回状态码为:: {response.status_code}")
|
||||
logging.info(f"---接口返回体为:: {response.json()}\n\n")
|
||||
|
||||
def approved_abnormal_products(self, MarketAndStoreInfo):
|
||||
logging.info("========== [审核通过异常商品] ==========")
|
||||
auth_token_b = self.headerss["Authorization"]
|
||||
print(f"-----------headerss:: \n{self.headerss}\n")
|
||||
print(f"-----------auth_token_b:: \n{auth_token_b}\n")
|
||||
print(f"-----------auth_token_b:: \n{type(auth_token_b)}\n")
|
||||
|
||||
# 1-查询
|
||||
url = self.Domain + "admin/check_goods/list"
|
||||
get_abnormal_list_payload = json.dumps({
|
||||
"page": 1,
|
||||
"limit": 10,
|
||||
"query": {
|
||||
"order": {"createdAt": "desc"},
|
||||
"where": {
|
||||
"marketId": {"eq": MarketAndStoreInfo["putMarketId"]},
|
||||
"storeId": {"eq": MarketAndStoreInfo["putStoreId"][0]},
|
||||
"sessionState": {"in": [1, 2, 3, 4, 5, 6, 7]},
|
||||
"state": {"eq": 0}
|
||||
}
|
||||
}
|
||||
})
|
||||
abnormal_list_resp = requests.request("POST", url,
|
||||
headers=self.headerss, data=get_abnormal_list_payload)
|
||||
print(f"-----------查询异常待处理商品返回结果为:: \n{abnormal_list_resp.json()}\n\n")
|
||||
logging.info(f"-----------接口返回状态码:{abnormal_list_resp.status_code}")
|
||||
logging.info(f"-----------接口返回数据:{abnormal_list_resp.json()}\n\n")
|
||||
if abnormal_list_resp.json()["data"]["data"] != []:
|
||||
abnormal_id = abnormal_list_resp.json()["data"]["data"][0]["id"]
|
||||
num_val = abnormal_list_resp.json()["data"]["data"][0]["num"]
|
||||
# 2-审核通过
|
||||
# url2 = self.Domain + (
|
||||
url2 = ('https://api.test.yimaogo.com/' + (
|
||||
"admin/check_goods/change/state/"
|
||||
"{abnormal_id}?state=1&num={Num}&update=true&promotion=false"
|
||||
# "{abnormal_id}"
|
||||
).replace("{abnormal_id}", str(abnormal_id)).
|
||||
replace("{Num}", str(num_val)))
|
||||
# print(f"-----------headers:: \n{self.headerss}\n")
|
||||
print(f"-----------url2:: \n{url2}\n")
|
||||
|
||||
try:
|
||||
auth_token_b = self.headerss["Authorization"]
|
||||
auth_token_c = 'Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImNlcnQtYnVpbHQtaW4iLCJ0eXAiOiJKV1QifQ.eyJhdWQiOlsiOTU1Nzk3NjVlNGZlOTFhZjk5NjIiXSwiYXZhdGFyIjoiaHR0cHM6Ly9zdGF0aWMtbGVnYWN5LmRpbmd0YWxrLmNvbS9tZWRpYS9sQURQRDRQdkgxQ0Z6R1BOQWd6TkFlQV80ODBfNTI0LmpwZyIsImRpc3BsYXlOYW1lIjoi5ZC05Zu95b69IiwiZW1haWwiOiJ3dWd1b2h1aUBpZWVtb28uY29tIiwiZXhwIjoxNzMyODQzODQxLCJpYXQiOjE3MzIyMzkwNDEsImlkIjoiUTJwcVJlVjNQRUViaVM5OGlTaVA4ZUVDZ2lFaUUiLCJpc3MiOiJodHRwczovL2F1dGgueWltYW9nby5jb20iLCJqdGkiOiJhZG1pbi9iZjk0MDFhMi1mZDIxLTRjODgtOWZkMS0yNGVlZWM0MjdmMmYiLCJuYW1lIjoiMDI5NiIsIm5iZiI6MTczMjIzOTA0MSwibm9uY2UiOiIiLCJvd25lciI6ImllZW1vbyIsInNjb3BlIjoicHJvZmlsZSIsInN1YiI6IlEycHFSZVYzUEVFYmlTOThpU2lQOGVFQ2dpRWlFIiwidGFnIjoiIiwidG9rZW5UeXBlIjoiYWNjZXNzLXRva2VuIn0.MEXmbdk3QOitECq7K4qG5BOy0K7pecJxTQVNrJq8a5VllNLTmfnsCWs_UswiF4-hrf7KvMj71TKI3xcMLPZDPTYee4LKi3npXrSHtuF9yWef9xY3841KEDHUc_RwNMlqFukVWIH3c-TL3M5XVqvY_ccqxPVG00ArRuXemkFsF7YoOsBzqMBR5oZdTw4vdZBjv07vXPvX-D8oQ1AR2Ib4jZxifBCwGB00GqFrQaNKGTuzaEo_nAXiZ3Xd6GBO5GywBIZ6-60J9PSf4VTZzKdxM16DoQoRrZUzLgxVmuxYo1g9OrQt3FQEPH2GwiPRRNezZKOCJOkU5MY-ZbxAizK5OkFn96ozbkiTKDqlUfkPASZWWX2XgVTLdaoRVltBIGDI03OzOJgiN4ogmz4uOyfeAxmgNPYyFoCclS3rKyCAWNPthY4R5R-AmkZAr1Lpu2NkSlxpCAiDLuzITE2POaG2XFGpAfn2OYeSJWxJhx2twOSFwu4zG4-yGD_AiQKXuxpYpLQbFfIL3d3sJ9dM8Wom4nTdh4rQDWVT0ed1Pc77NxSqMWlAviszaGU_V9deY-JqmtOwvw4p7lmAmr4yeB_-7fdKTXfGyEj9zy863Mzj9zZlPVr-ZB6RjvgqI8YK8A1g-ggjRL5OFOwVt2SP59qrAkUfpgAQXj1vN_ias1LhlJU',
|
||||
|
||||
print(f"-----------auth_token_c:: \n{auth_token_b}\n")
|
||||
print(f"-----------auth_token_c:: \n{type(auth_token_b)}\n")
|
||||
# payload = ""
|
||||
# headers = {
|
||||
# 'Authorization': str(auth_token_c[0]),
|
||||
# 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36',
|
||||
# 'authority': 'api.test.yimaogo.com',
|
||||
# 'Accept': '*/*',
|
||||
# 'Origin': 'https://dashboard.test.yimaogo.com',
|
||||
# 'Referer': 'https://dashboard.test.yimaogo.com/',
|
||||
# 'sec-ch-ua': '"Google Chrome";v="131", "Chromium";v="131", "Not_A Brand";v="24"',
|
||||
# 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
|
||||
# 'Date': 'Fri, 22 Nov 2024 07:28:39 GMT',
|
||||
# 'server': 'APISIX/3.8.0',
|
||||
# 'Content-Type': 'application/json',
|
||||
# 'Host': 'api.test.yimaogo.com',
|
||||
# 'Connection': 'keep-alive'
|
||||
# }
|
||||
# time.sleep(1)
|
||||
# response = requests.request("GET", url2, headers=headers, data=payload)
|
||||
# response.raise_for_status() # 检查请求是否成功
|
||||
# logging.info(f"-----------接口返回状态码:{response.status_code}")
|
||||
# logging.info(f"-----------接口返回数据:{response.json()}\n\n")
|
||||
# print(f"-----------接口返回数据:\n{response.json()}\n\n")
|
||||
except requests.exceptions.RequestException as e:
|
||||
logging.error(f"请求失败: {e}")
|
||||
|
||||
# if response.json()["msg"] == '成功':
|
||||
# logging.info("---审核通过异常商品成功!")
|
||||
# else:
|
||||
# logging.error("---审核通过异常商品失败!")
|
||||
# else:
|
||||
# logging.info("---未查询到待核验的异常商品!")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
yms = YMServiceApi()
|
||||
GoodsInfo = {"GoodsInputcode": "6924743915848"}
|
||||
MarketAndStoreInfo = {"MarketId": 50, "StoreId": 29}
|
||||
yms.add_weight_to_whitelist(GoodsInfo, MarketAndStoreInfo)
|
||||
time.sleep(10)
|
||||
yms.delete_weight_whitelist_goods()
|
||||
MarketAndStoreDetails = {"putMarketId": 50, "putStoreId": ["69"]}
|
||||
yms.approved_abnormal_products(MarketAndStoreDetails)
|
@ -42,7 +42,7 @@ SaleGoodsInputCode = "9588856298051" # 濠品轩燕麦酥
|
||||
PromotionalWhitelistGoods = {"GoodsInputcode": "9588856298051", "GoodsName": "濠品轩燕麦酥"}
|
||||
''' -重量放通白名单 '''
|
||||
WeightToWhitelistGoods = {"GoodsInputcode": "6922024730036", "GoodsName": "大白兔奶糖"}
|
||||
''' -散称商品 '''
|
||||
''' -散称计重商品 '''
|
||||
BulkGoods = {"GoodsInputcode": "2934431009517", "GoodsName": "阿克苏苹果"}
|
||||
''' -计件商品 '''
|
||||
PieceRateGoods = {"GoodsInputcode": "2910551005806", "GoodsName": "优选大白菜秧"}
|
||||
|
Binary file not shown.
@ -22,7 +22,7 @@ class Test_CAnon002(unittest.TestCase):
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.NormalGoodsInputcode01 = NormalGoodsInputcode01 # 乐事薯片
|
||||
self.NormalGoodsInputcode01 = NormalGoodsInputcode01
|
||||
|
||||
def test_CAnon002_AddNonDiscountedProductsForPurchase(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
|
@ -22,8 +22,7 @@ class Test_CAnon003(unittest.TestCase):
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
# 会员有优惠商品暂未提供
|
||||
self.vip_goods_inputcode = VipGoodsInputcode # 统一番茄牛肉面
|
||||
self.vip_goods_inputcode = VipGoodsInputcode
|
||||
|
||||
def test_CAnon003_AddMemberProductsForPurchase(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
|
@ -21,8 +21,8 @@ class Test_CAnon004(unittest.TestCase):
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.goods_inputcode1 = NormalGoodsInputcode01 # 乐事薯片
|
||||
self.goods_inputcode2 = NormalGoodsInputcode02 # 统一番茄牛肉面
|
||||
self.goods_inputcode1 = NormalGoodsInputcode01
|
||||
self.goods_inputcode2 = NormalGoodsInputcode02
|
||||
|
||||
def test_CAnon004_AddMultipleItemsForPurchase(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
|
@ -22,8 +22,7 @@ class Test_CAnon005(unittest.TestCase):
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
# 折扣商品暂未提供
|
||||
self.sale_goods_inputCode = SaleGoodsInputCode # 乐事薯片
|
||||
self.sale_goods_inputCode = SaleGoodsInputCode
|
||||
|
||||
def test_CAnon005_AddDiscountedProductsForPurchase(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
|
@ -24,7 +24,6 @@ class Test_CAnon006(unittest.TestCase):
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.yms = YMServiceApi()
|
||||
# 促销白名单商品暂未提供
|
||||
self.promotional_whitelist_goods = PromotionalWhitelistGoods
|
||||
self.market_and_store_info = {
|
||||
"MarketId": MarketAndStoreDetails["putMarketId"],
|
||||
|
@ -24,7 +24,6 @@ class Test_CAnon007(unittest.TestCase):
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.yms = YMServiceApi()
|
||||
# 重量放通白名单商品暂未提供
|
||||
self.weight_to_whitelist_goods = WeightToWhitelistGoods
|
||||
self.market_and_store_info = {
|
||||
"MarketId": MarketAndStoreDetails["putMarketId"],
|
||||
|
@ -21,8 +21,8 @@ class Test_CAnon008(unittest.TestCase):
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.shoppingbag_mid = GoodsBagInputcode_mid # 乐事薯片
|
||||
self.shoppingbag_max = GoodsBagInputcode_max # 统一番茄牛肉面
|
||||
self.shoppingbag_mid = GoodsBagInputcode_mid
|
||||
self.shoppingbag_max = GoodsBagInputcode_max
|
||||
|
||||
def test_CAnon008_ReturnShoppingBag(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
|
@ -21,8 +21,8 @@ class Test_CAnon009(unittest.TestCase):
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.goods_01 = NormalGoodsInputcode01 # 乐事薯片
|
||||
self.goods_02 = NormalGoodsInputcode02 # 统一番茄牛肉面
|
||||
self.goods_01 = NormalGoodsInputcode01
|
||||
self.goods_02 = NormalGoodsInputcode02
|
||||
|
||||
def test_CAnon009_ReturnPurchaseOfOrdinaryGoods(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
|
@ -21,8 +21,8 @@ class Test_CAnon010(unittest.TestCase):
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.vip_goods_01 = VipGoodsInputcode # 乐事薯片
|
||||
self.vip_goods_02 = VipGoodsInputcode02 # 统一番茄牛肉面
|
||||
self.vip_goods_01 = VipGoodsInputcode
|
||||
self.vip_goods_02 = VipGoodsInputcode02
|
||||
|
||||
def test_CAnon010_ReturnOfMemberProducts(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
|
@ -21,8 +21,8 @@ class Test_CAnon011(unittest.TestCase):
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.goods_inputcode1 = NormalGoodsInputcode01 # 乐事薯片
|
||||
self.goods_inputcode2 = NormalGoodsInputcode02 # 统一番茄牛肉面
|
||||
self.goods_inputcode1 = NormalGoodsInputcode01
|
||||
self.goods_inputcode2 = NormalGoodsInputcode02
|
||||
|
||||
def test_CAnon011_ReturnOneItemFromMultiplePurchases(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
|
@ -21,7 +21,7 @@ class Test_CAnon012(unittest.TestCase):
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.sale_goods_inputCode = SaleGoodsInputCode # 乐事薯片
|
||||
self.sale_goods_inputCode = SaleGoodsInputCode
|
||||
|
||||
def test_CAnon012_ReturnOfDiscountedProducts(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
|
@ -23,7 +23,6 @@ class Test_CAnon013(unittest.TestCase):
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.yms = YMServiceApi()
|
||||
# 促销白名单商品暂未提供
|
||||
self.promotional_whitelist_goods = PromotionalWhitelistGoods
|
||||
self.market_and_store_info = {
|
||||
"MarketId": MarketAndStoreDetails["putMarketId"],
|
||||
@ -69,15 +68,15 @@ class Test_CAnon013(unittest.TestCase):
|
||||
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"到促销白名单失败")
|
||||
|
||||
def tearDown(self) -> None:
|
||||
allure.step("[后置处理]:删除添加的促销白名单商品")
|
||||
self.yms.delete_whitelist_goods()
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(verbosity=2)
|
@ -23,7 +23,6 @@ class Test_CAnon014(unittest.TestCase):
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.yms = YMServiceApi()
|
||||
# 重量放通白名单商品暂未提供
|
||||
self.weight_to_whitelist_goods = WeightToWhitelistGoods
|
||||
self.market_and_store_info = {
|
||||
"MarketId": MarketAndStoreDetails["putMarketId"],
|
||||
@ -69,15 +68,15 @@ class Test_CAnon014(unittest.TestCase):
|
||||
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"到重量放通白名单失败")
|
||||
|
||||
def tearDown(self) -> None:
|
||||
allure.step("[后置处理]:删除添加的重量放通白名单商品")
|
||||
self.yms.delete_weight_whitelist_goods()
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(verbosity=2)
|
@ -1,53 +1,46 @@
|
||||
# !/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 匿名加购计件商品,并结算
|
||||
# @Date:: 2024/11/21
|
||||
# @Description:: 匿名登录,加购计件商品,并结算
|
||||
# @Date:: 2024/11/22
|
||||
import unittest,allure,time,pytest
|
||||
from configs.globalObj import LOGGER
|
||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||
from YiMao.data.WuShangSceneTestData import *
|
||||
|
||||
|
||||
DescName = "Anon015-匿名加购计件商品,并结算"
|
||||
DescName = "Anon015-匿名登录加购计件商品,并结算"
|
||||
@allure.story(f'[场景测试] {DescName}验证')
|
||||
class Test_CAnon015(unittest.TestCase):
|
||||
f'''@Date:: 2024/11/15
|
||||
f'''@Date:: 2024/11/22
|
||||
@Author:: Arthur Wu
|
||||
@Desc::
|
||||
[购物车客户端] {DescName}
|
||||
1、步骤
|
||||
1)加购计件或计重商品,返回为待核验商品
|
||||
2)点击结算,校验返回结果“不可结算”
|
||||
3)调用管理平台“待核验商品-审核通过”接口
|
||||
4)点击结算,校验返回结果“可结算”
|
||||
'''
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
# 会员有优惠商品暂未提供
|
||||
# self.vip_goods_inputcode = VipGoodsInputcode # 统一番茄牛肉面
|
||||
self.vip_goods_inputcode = "124312354" # 统一番茄牛肉面
|
||||
self.piece_rate_goods = PieceRateGoods["GoodsInputcode"]
|
||||
|
||||
def test_CAnon015(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
allure.dynamic.description(f"描述:{DescName}\n")
|
||||
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:获取商品信息")
|
||||
GoodsInfoData = self.ymc.get_goods_info(self.vip_goods_inputcode)
|
||||
if GoodsInfoData['msg'] != '加购商品不存在':
|
||||
GetGoodsInfoResp_01 = self.ymc.get_goods_info(self.piece_rate_goods)
|
||||
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
||||
allure.step("步骤4:添加会员有优惠商品")
|
||||
self.ymc.add_cart_goods(GoodsInfoData, 1, LoginData)
|
||||
self.ymc.add_cart_goods(GetGoodsInfoResp_01, 1, LoginData)
|
||||
allure.step("步骤5:获取购物车商品信息")
|
||||
self.ymc.get_cart_goods_info([GoodsInfoData])
|
||||
self.ymc.get_cart_goods_info([GetGoodsInfoResp_01])
|
||||
allure.step("步骤6:请求订单结算")
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.vip_goods_inputcode} 不存在")
|
||||
pytest.fail(f"---商品 {self.vip_goods_inputcode} 不存在")
|
||||
LOGGER.info(f"---商品 {PieceRateGoods} 不存在")
|
||||
pytest.fail(f"---商品 {PieceRateGoods} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
@ -0,0 +1,55 @@
|
||||
# !/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 匿名登录,加购计件商品,并退购
|
||||
# @Date:: 2024/11/22
|
||||
import unittest,allure,time,pytest
|
||||
from configs.globalObj import LOGGER
|
||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||
from YiMao.data.WuShangSceneTestData import *
|
||||
|
||||
|
||||
DescName = "Anon016-匿名登录,加购计件商品,并退购"
|
||||
@allure.story(f'[场景测试] {DescName}验证')
|
||||
class Test_CAnon016(unittest.TestCase):
|
||||
f'''@Date:: 2024/11/22
|
||||
@Author:: Arthur Wu
|
||||
@Desc::
|
||||
[购物车客户端] {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):
|
||||
allure.dynamic.description(f"描述:{DescName}\n")
|
||||
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:获取商品信息")
|
||||
GetGoodsInfoResp_01 = self.ymc.get_goods_info(self.piece_rate_goods)
|
||||
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
||||
allure.step("步骤4:添加会员有优惠商品")
|
||||
AddGoodsResp = self.ymc.add_cart_goods(GetGoodsInfoResp_01, 1, LoginData)
|
||||
|
||||
allure.step("\n步骤7:退购一件商品")
|
||||
GetGoodsInfoList = [GetGoodsInfoResp_01]
|
||||
self.ymc.delete_cart_goods(GetGoodsInfoList, LoginData, AddGoodsResp)
|
||||
|
||||
allure.step("步骤5:获取购物车商品信息")
|
||||
self.ymc.get_cart_goods_info([GetGoodsInfoResp_01])
|
||||
allure.step("步骤6:请求订单结算")
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {PieceRateGoods} 不存在")
|
||||
pytest.fail(f"---商品 {PieceRateGoods} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(verbosity=2)
|
@ -0,0 +1,47 @@
|
||||
# !/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 匿名登录,加购计重商品,并结算
|
||||
# @Date:: 2024/11/22
|
||||
import unittest,allure,time,pytest
|
||||
from configs.globalObj import LOGGER
|
||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||
from YiMao.data.WuShangSceneTestData import *
|
||||
|
||||
|
||||
DescName = "Anon017-匿名登录,加购计重商品,并结算"
|
||||
@allure.story(f'[场景测试] {DescName}验证')
|
||||
class Test_CAnon017(unittest.TestCase):
|
||||
f'''@Date:: 2024/11/22
|
||||
@Author:: Arthur Wu
|
||||
@Desc::
|
||||
[购物车客户端] {DescName}
|
||||
'''
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.bulk_goods = BulkGoods["GoodsInputcode"]
|
||||
|
||||
def test_CAnon017(self):
|
||||
allure.dynamic.description(f"描述:{DescName}\n")
|
||||
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:获取商品信息")
|
||||
GetGoodsInfoResp_01 = self.ymc.get_goods_info(self.bulk_goods)
|
||||
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
||||
allure.step("步骤4:添加会员有优惠商品")
|
||||
self.ymc.add_cart_goods(GetGoodsInfoResp_01, 1, LoginData)
|
||||
allure.step("步骤5:获取购物车商品信息")
|
||||
self.ymc.get_cart_goods_info([GetGoodsInfoResp_01])
|
||||
allure.step("步骤6:请求订单结算")
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {BulkGoods} 不存在")
|
||||
pytest.fail(f"---商品 {BulkGoods} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(verbosity=2)
|
@ -0,0 +1,55 @@
|
||||
# !/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.data.WuShangSceneTestData import *
|
||||
|
||||
|
||||
DescName = "Anon018-匿名登录,加购计重商品,并退购"
|
||||
@allure.story(f'[场景测试] {DescName}验证')
|
||||
class Test_CAnon018(unittest.TestCase):
|
||||
f'''@Date:: 2024/11/15
|
||||
@Author:: Arthur Wu
|
||||
@Desc::
|
||||
[购物车客户端] {DescName}
|
||||
1、步骤
|
||||
1)加购计件或计重商品
|
||||
2)退购一件
|
||||
'''
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.bulk_goods = BulkGoods["GoodsInputcode"]
|
||||
|
||||
def test_CAnon018(self):
|
||||
allure.dynamic.description(f"描述:{DescName}\n")
|
||||
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:获取商品信息")
|
||||
GetGoodsInfoResp_01 = self.ymc.get_goods_info(self.bulk_goods)
|
||||
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
||||
allure.step("步骤4:添加会员有优惠商品")
|
||||
AddGoodsResp = self.ymc.add_cart_goods(GetGoodsInfoResp_01, 1, LoginData)
|
||||
|
||||
allure.step("\n步骤5:退购一件商品")
|
||||
GetGoodsInfoList = [GetGoodsInfoResp_01]
|
||||
self.ymc.delete_cart_goods(GetGoodsInfoList, LoginData, AddGoodsResp)
|
||||
|
||||
allure.step("步骤6:获取购物车商品信息")
|
||||
self.ymc.get_cart_goods_info([GetGoodsInfoResp_01])
|
||||
allure.step("步骤7:请求订单结算")
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {BulkGoods} 不存在")
|
||||
pytest.fail(f"---商品 {BulkGoods} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(verbosity=2)
|
@ -24,6 +24,7 @@ class Test_CNoLogin001(unittest.TestCase):
|
||||
def test_CNoLogin001_CheckADs(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
AdListData = self.ymc.get_ads_list()
|
||||
if AdListData['data'] != []:
|
||||
if "error_msg" not in AdListData:
|
||||
adIdList = []
|
||||
for ad in AdListData['data']:
|
||||
@ -31,6 +32,9 @@ class Test_CNoLogin001(unittest.TestCase):
|
||||
LOGGER.info(f"---adIdList: {adIdList}---\n")
|
||||
for adId in adIdList:
|
||||
self.ymc.query_ad_detail(str(adId))
|
||||
else:
|
||||
LOGGER.info(f"---该商超未配置广告---\n")
|
||||
pytest.fail(f"---该商超未配置广告---\n")
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(verbosity=2)
|
@ -49,6 +49,7 @@ class Test_CVip001_AddShoppingBagAndSettlePayment(unittest.TestCase):
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---购物袋 {self.goodsbag_mid} 不存在")
|
||||
pytest.fail(f"---购物袋 {self.goodsbag_mid} 不存在")
|
||||
|
||||
def test_CVip00102_AddMaxShoppingbagsForPurchase(self):
|
||||
allure.dynamic.description("描述:加购大号购物袋")
|
||||
@ -73,7 +74,7 @@ class Test_CVip001_AddShoppingBagAndSettlePayment(unittest.TestCase):
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---购物袋 {self.goodsbag_max} 不存在")
|
||||
raise Exception(f"购物袋 {self.goodsbag_max} 不存在")
|
||||
pytest.fail(f"购物袋 {self.goodsbag_max} 不存在")
|
||||
|
||||
|
||||
|
||||
|
@ -23,7 +23,7 @@ class Test_CVip002(unittest.TestCase):
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.vip_phone_num = VIPPhoneNumber
|
||||
self.NormalGoodsInputcode01 = NormalGoodsInputcode01 # 乐事薯片
|
||||
self.NormalGoodsInputcode01 = NormalGoodsInputcode01
|
||||
|
||||
def test_CVip002_AddNonDiscountedProductsForPurchase(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
@ -48,7 +48,7 @@ class Test_CVip002(unittest.TestCase):
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.NormalGoodsInputcode01} 不存在")
|
||||
raise Exception(f"---商品 {self.NormalGoodsInputcode01} 不存在")
|
||||
pytest.fail(f"---商品 {self.NormalGoodsInputcode01} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -22,9 +22,8 @@ class Test_CVip003(unittest.TestCase):
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
# 会员有优惠商品暂未提供
|
||||
self.vip_phone_num = VIPPhoneNumber
|
||||
self.vip_goods_inputcode = VipGoodsInputcode # 统一番茄牛肉面
|
||||
self.vip_goods_inputcode = VipGoodsInputcode
|
||||
|
||||
def test_CVip003_AddMemberProductsForPurchase(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
@ -49,7 +48,7 @@ class Test_CVip003(unittest.TestCase):
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.vip_goods_inputcode} 不存在")
|
||||
raise Exception(f"---商品 {self.vip_goods_inputcode} 不存在")
|
||||
pytest.fail(f"---商品 {self.vip_goods_inputcode} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -22,8 +22,8 @@ class Test_CVip004(unittest.TestCase):
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.vip_phone_num = VIPPhoneNumber
|
||||
self.goods_inputcode1 = NormalGoodsInputcode01 # 乐事薯片
|
||||
self.goods_inputcode2 = NormalGoodsInputcode02 # 统一番茄牛肉面
|
||||
self.goods_inputcode1 = NormalGoodsInputcode01
|
||||
self.goods_inputcode2 = NormalGoodsInputcode02
|
||||
|
||||
def test_CVip004_AddMultipleItemsForPurchase(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
@ -53,10 +53,10 @@ class Test_CVip004(unittest.TestCase):
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.goods_inputcode2} 不存在")
|
||||
raise AssertionError(f"---商品 {self.goods_inputcode2} 不存在")
|
||||
pytest.fail(f"---商品 {self.goods_inputcode2} 不存在")
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.goods_inputcode1} 不存在")
|
||||
raise AssertionError(f"---商品 {self.goods_inputcode1} 不存在")
|
||||
pytest.fail(f"---商品 {self.goods_inputcode1} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -22,9 +22,8 @@ class Test_CVip005(unittest.TestCase):
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
# 折扣商品暂未提供
|
||||
self.vip_phone_num = VIPPhoneNumber
|
||||
self.sale_goods_inputCode = SaleGoodsInputCode # 乐事薯片
|
||||
self.sale_goods_inputCode = SaleGoodsInputCode
|
||||
|
||||
def test_CVip005_AddDiscountedProductsForPurchase(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
@ -49,7 +48,7 @@ class Test_CVip005(unittest.TestCase):
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.sale_goods_inputCode} 不存在")
|
||||
raise Exception(f"---商品 {self.sale_goods_inputCode} 不存在")
|
||||
pytest.fail(f"---商品 {self.sale_goods_inputCode} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -24,7 +24,6 @@ class Test_CVip006(unittest.TestCase):
|
||||
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 = {
|
||||
@ -63,14 +62,14 @@ class Test_CVip006(unittest.TestCase):
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.promotional_whitelist_goods["GoodsInputcode"]} 不存在")
|
||||
raise Exception(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"到促销白名单失败")
|
||||
raise Exception(f"---添加商品 {self.promotional_whitelist_goods['GoodsInputcode']} "
|
||||
pytest.fail(f"---添加商品 {self.promotional_whitelist_goods['GoodsInputcode']} "
|
||||
f"到促销白名单失败")
|
||||
|
||||
|
||||
|
@ -24,7 +24,6 @@ class Test_CVip007(unittest.TestCase):
|
||||
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 = {
|
||||
@ -64,14 +63,14 @@ class Test_CVip007(unittest.TestCase):
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.weight_to_whitelist_goods["GoodsInputcode"]} 不存在")
|
||||
raise Exception(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"到重量放通白名单失败")
|
||||
raise Exception(f"---添加商品 {self.weight_to_whitelist_goods['GoodsInputcode']} "
|
||||
pytest.fail(f"---添加商品 {self.weight_to_whitelist_goods['GoodsInputcode']} "
|
||||
f"到重量放通白名单失败")
|
||||
|
||||
|
||||
|
@ -22,8 +22,8 @@ class Test_CVip008(unittest.TestCase):
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.vip_phone_num = VIPPhoneNumber
|
||||
self.shoppingbag_mid = GoodsBagInputcode_mid # 乐事薯片
|
||||
self.shoppingbag_max = GoodsBagInputcode_max # 统一番茄牛肉面
|
||||
self.shoppingbag_mid = GoodsBagInputcode_mid
|
||||
self.shoppingbag_max = GoodsBagInputcode_max
|
||||
|
||||
def test_CVip008_ReturnShoppingBag(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
@ -60,10 +60,10 @@ class Test_CVip008(unittest.TestCase):
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.shoppingbag_max} 不存在")
|
||||
raise AssertionError(f"---商品 {self.shoppingbag_max} 不存在")
|
||||
pytest.fail(f"---商品 {self.shoppingbag_max} 不存在")
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.shoppingbag_mid} 不存在")
|
||||
raise AssertionError(f"---商品 {self.shoppingbag_mid} 不存在")
|
||||
pytest.fail(f"---商品 {self.shoppingbag_mid} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -22,8 +22,8 @@ class Test_CVip009(unittest.TestCase):
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.vip_phone_num = VIPPhoneNumber
|
||||
self.goods_01 = NormalGoodsInputcode01 # 乐事薯片
|
||||
self.goods_02 = NormalGoodsInputcode02 # 统一番茄牛肉面
|
||||
self.goods_01 = NormalGoodsInputcode01
|
||||
self.goods_02 = NormalGoodsInputcode02
|
||||
|
||||
def test_CVip009_ReturnPurchaseOfOrdinaryGoods(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
@ -60,10 +60,10 @@ class Test_CVip009(unittest.TestCase):
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.goods_02} 不存在")
|
||||
raise AssertionError(f"---商品 {self.goods_02} 不存在")
|
||||
pytest.fail(f"---商品 {self.goods_02} 不存在")
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.goods_01} 不存在")
|
||||
raise AssertionError(f"---商品 {self.goods_01} 不存在")
|
||||
pytest.fail(f"---商品 {self.goods_01} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -22,8 +22,8 @@ class Test_CVip010(unittest.TestCase):
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.vip_phone_num = VIPPhoneNumber
|
||||
self.vip_goods_01 = VipGoodsInputcode # 乐事薯片
|
||||
self.vip_goods_02 = VipGoodsInputcode02 # 统一番茄牛肉面
|
||||
self.vip_goods_01 = VipGoodsInputcode
|
||||
self.vip_goods_02 = VipGoodsInputcode02
|
||||
|
||||
def test_CVip010_ReturnOfMemberProducts(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
@ -60,10 +60,10 @@ class Test_CVip010(unittest.TestCase):
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.vip_goods_02} 不存在")
|
||||
raise AssertionError(f"---商品 {self.vip_goods_02} 不存在")
|
||||
pytest.fail(f"---商品 {self.vip_goods_02} 不存在")
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.vip_goods_01} 不存在")
|
||||
raise AssertionError(f"---商品 {self.vip_goods_01} 不存在")
|
||||
pytest.fail(f"---商品 {self.vip_goods_01} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -22,8 +22,8 @@ class Test_CVip011(unittest.TestCase):
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.vip_phone_num = VIPPhoneNumber
|
||||
self.goods_inputcode1 = NormalGoodsInputcode01 # 乐事薯片
|
||||
self.goods_inputcode2 = NormalGoodsInputcode02 # 统一番茄牛肉面
|
||||
self.goods_inputcode1 = NormalGoodsInputcode01
|
||||
self.goods_inputcode2 = NormalGoodsInputcode02
|
||||
|
||||
def test_CVip011_ReturnOneItemFromMultiplePurchases(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
@ -60,10 +60,10 @@ class Test_CVip011(unittest.TestCase):
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.goods_inputcode2} 不存在")
|
||||
raise AssertionError(f"---商品 {self.goods_inputcode2} 不存在")
|
||||
pytest.fail(f"---商品 {self.goods_inputcode2} 不存在")
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.goods_inputcode1} 不存在")
|
||||
raise AssertionError(f"---商品 {self.goods_inputcode1} 不存在")
|
||||
pytest.fail(f"---商品 {self.goods_inputcode1} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -22,7 +22,7 @@ class Test_CVip012(unittest.TestCase):
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.vip_phone_num = VIPPhoneNumber
|
||||
self.sale_goods_inputCode = SaleGoodsInputCode # 乐事薯片
|
||||
self.sale_goods_inputCode = SaleGoodsInputCode
|
||||
|
||||
def test_CVip012_ReturnOfDiscountedProducts(self):
|
||||
allure.dynamic.description(f"描述:{DescName}")
|
||||
@ -54,7 +54,7 @@ class Test_CVip012(unittest.TestCase):
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.sale_goods_inputCode} 不存在")
|
||||
raise AssertionError(f"---商品 {self.sale_goods_inputCode} 不存在")
|
||||
pytest.fail(f"---商品 {self.sale_goods_inputCode} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -23,7 +23,6 @@ class Test_CVip013(unittest.TestCase):
|
||||
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 = {
|
||||
@ -73,16 +72,16 @@ class Test_CVip013(unittest.TestCase):
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.promotional_whitelist_goods["GoodsInputcode"]} 不存在")
|
||||
raise Exception(f"---商品 {self.promotional_whitelist_goods["GoodsInputcode"]} 不存在")
|
||||
|
||||
allure.step("[后置处理]:删除添加的促销白名单商品")
|
||||
self.yms.delete_whitelist_goods()
|
||||
pytest.fail(f"---商品 {self.promotional_whitelist_goods["GoodsInputcode"]} 不存在")
|
||||
else:
|
||||
LOGGER.info(f"---添加商品 {self.promotional_whitelist_goods['GoodsInputcode']} "
|
||||
f"到促销白名单失败")
|
||||
raise Exception(f"---添加商品 {self.promotional_whitelist_goods['GoodsInputcode']} "
|
||||
pytest.fail(f"---添加商品 {self.promotional_whitelist_goods['GoodsInputcode']} "
|
||||
f"到促销白名单失败")
|
||||
|
||||
def tearDown(self) -> None:
|
||||
allure.step("[后置处理]:删除添加的促销白名单商品")
|
||||
self.yms.delete_whitelist_goods()
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(verbosity=2)
|
@ -23,7 +23,6 @@ class Test_CVip014(unittest.TestCase):
|
||||
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 = {
|
||||
@ -73,16 +72,16 @@ class Test_CVip014(unittest.TestCase):
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {self.weight_to_whitelist_goods["GoodsInputcode"]} 不存在")
|
||||
raise Exception(f"---商品 {self.weight_to_whitelist_goods['GoodsInputcode']} 不存在")
|
||||
|
||||
allure.step("[后置处理]:删除添加的重量放通白名单商品")
|
||||
self.yms.delete_weight_whitelist_goods()
|
||||
pytest.fail(f"---商品 {self.weight_to_whitelist_goods['GoodsInputcode']} 不存在")
|
||||
else:
|
||||
LOGGER.info(f"---添加商品 {self.weight_to_whitelist_goods['GoodsInputcode']} "
|
||||
f"到重量放通白名单失败")
|
||||
raise Exception(f"---添加商品 {self.weight_to_whitelist_goods['GoodsInputcode']} "
|
||||
pytest.fail(f"---添加商品 {self.weight_to_whitelist_goods['GoodsInputcode']} "
|
||||
f"到重量放通白名单失败")
|
||||
|
||||
def tearDown(self) -> None:
|
||||
allure.step("[后置处理]:删除添加的重量放通白名单商品")
|
||||
self.yms.delete_weight_whitelist_goods()
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(verbosity=2)
|
@ -0,0 +1,53 @@
|
||||
# !/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 匿名转会员登录,加购计件商品,并结算
|
||||
# @Date:: 2024/11/22
|
||||
import unittest,allure,time,pytest
|
||||
from configs.globalObj import LOGGER
|
||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||
from YiMao.data.WuShangSceneTestData import *
|
||||
|
||||
|
||||
DescName = "Vip015-匿名转会员登录,加购计件商品,并结算"
|
||||
@allure.story(f'[场景测试] {DescName}验证')
|
||||
class Test_CVip015(unittest.TestCase):
|
||||
f'''@Date:: 2024/11/22
|
||||
@Author:: Arthur Wu
|
||||
@Desc::
|
||||
[购物车客户端] {DescName}
|
||||
'''
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.vip_phone_num = VIPPhoneNumber
|
||||
self.piece_rate_goods = PieceRateGoods["GoodsInputcode"]
|
||||
|
||||
def test_CVip015(self):
|
||||
allure.dynamic.description(f"描述:{DescName}\n")
|
||||
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:获取商品信息")
|
||||
GetGoodsInfoResp_01 = self.ymc.get_goods_info(self.piece_rate_goods)
|
||||
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
||||
allure.step("步骤4:添加会员有优惠商品")
|
||||
self.ymc.add_cart_goods(GetGoodsInfoResp_01, 1, LoginData)
|
||||
allure.step("步骤5:获取购物车商品信息")
|
||||
self.ymc.get_cart_goods_info([GetGoodsInfoResp_01])
|
||||
allure.step("步骤6:请求订单结算")
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {PieceRateGoods} 不存在")
|
||||
pytest.fail(f"---商品 {PieceRateGoods} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(verbosity=2)
|
@ -0,0 +1,61 @@
|
||||
# !/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 匿名转会员登录,加购计件商品,并退购
|
||||
# @Date:: 2024/11/22
|
||||
import unittest,allure,time,pytest
|
||||
from configs.globalObj import LOGGER
|
||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||
from YiMao.data.WuShangSceneTestData import *
|
||||
|
||||
|
||||
DescName = "Vip016-匿名转会员登录,加购计件商品,并退购"
|
||||
@allure.story(f'[场景测试] {DescName}验证')
|
||||
class Test_CVip016(unittest.TestCase):
|
||||
f'''@Date:: 2024/11/22
|
||||
@Author:: Arthur Wu
|
||||
@Desc::
|
||||
[购物车客户端] {DescName}
|
||||
1、步骤
|
||||
1)加购计件或计重商品
|
||||
2)退购一件
|
||||
'''
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.vip_phone_num = VIPPhoneNumber
|
||||
self.piece_rate_goods = PieceRateGoods["GoodsInputcode"]
|
||||
|
||||
def test_CVip016(self):
|
||||
allure.dynamic.description(f"描述:{DescName}\n")
|
||||
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:获取商品信息")
|
||||
GetGoodsInfoResp_01 = self.ymc.get_goods_info(self.piece_rate_goods)
|
||||
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
||||
allure.step("步骤4:添加会员有优惠商品")
|
||||
AddGoodsResp = self.ymc.add_cart_goods(GetGoodsInfoResp_01, 1, LoginData)
|
||||
|
||||
allure.step("\n步骤7:退购一件商品")
|
||||
GetGoodsInfoList = [GetGoodsInfoResp_01]
|
||||
self.ymc.delete_cart_goods(GetGoodsInfoList, LoginData, AddGoodsResp)
|
||||
|
||||
allure.step("步骤5:获取购物车商品信息")
|
||||
self.ymc.get_cart_goods_info([GetGoodsInfoResp_01])
|
||||
allure.step("步骤6:请求订单结算")
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {PieceRateGoods} 不存在")
|
||||
pytest.fail(f"---商品 {PieceRateGoods} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(verbosity=2)
|
@ -0,0 +1,53 @@
|
||||
# !/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 匿名转会员登录,加购计重商品,并结算
|
||||
# @Date:: 2024/11/22
|
||||
import unittest,allure,time,pytest
|
||||
from configs.globalObj import LOGGER
|
||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||
from YiMao.data.WuShangSceneTestData import *
|
||||
|
||||
|
||||
DescName = "Vip017-匿名转会员登录,加购计重商品,并结算"
|
||||
@allure.story(f'[场景测试] {DescName}验证')
|
||||
class Test_CVip017(unittest.TestCase):
|
||||
f'''@Date:: 2024/11/22
|
||||
@Author:: Arthur Wu
|
||||
@Desc::
|
||||
[购物车客户端] {DescName}
|
||||
'''
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.vip_phone_num = VIPPhoneNumber
|
||||
self.bulk_goods = BulkGoods["GoodsInputcode"]
|
||||
|
||||
def test_CVip017(self):
|
||||
allure.dynamic.description(f"描述:{DescName}\n")
|
||||
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:获取商品信息")
|
||||
GetGoodsInfoResp_01 = self.ymc.get_goods_info(self.bulk_goods)
|
||||
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
||||
allure.step("步骤4:添加会员有优惠商品")
|
||||
self.ymc.add_cart_goods(GetGoodsInfoResp_01, 1, LoginData)
|
||||
allure.step("步骤5:获取购物车商品信息")
|
||||
self.ymc.get_cart_goods_info([GetGoodsInfoResp_01])
|
||||
allure.step("步骤6:请求订单结算")
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {BulkGoods} 不存在")
|
||||
pytest.fail(f"---商品 {BulkGoods} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(verbosity=2)
|
@ -0,0 +1,61 @@
|
||||
# !/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# @Author:: Arthur Wu
|
||||
# @Description:: 匿名转会员登录,加购计重商品,并退购
|
||||
# @Date:: 2024/11/22
|
||||
import unittest,allure,time,pytest
|
||||
from configs.globalObj import LOGGER
|
||||
from YiMao.businessFunc.ClientApiLib import YMClientApi
|
||||
from YiMao.data.WuShangSceneTestData import *
|
||||
|
||||
|
||||
DescName = "Vip018-匿名转会员登录,加购计重商品,并退购"
|
||||
@allure.story(f'[场景测试] {DescName}验证')
|
||||
class Test_CVip018(unittest.TestCase):
|
||||
f'''@Date:: 2024/11/22
|
||||
@Author:: Arthur Wu
|
||||
@Desc::
|
||||
[购物车客户端] {DescName}
|
||||
1、步骤
|
||||
1)加购计件或计重商品
|
||||
2)退购一件
|
||||
'''
|
||||
def setUp(self) -> None:
|
||||
self.timestamp = int(time.time())
|
||||
self.ymc = YMClientApi(ShoppingCartMac)
|
||||
self.vip_phone_num = VIPPhoneNumber
|
||||
self.bulk_goods = BulkGoods["GoodsInputcode"]
|
||||
|
||||
def test_CVip018(self):
|
||||
allure.dynamic.description(f"描述:{DescName}\n")
|
||||
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:获取商品信息")
|
||||
GetGoodsInfoResp_01 = self.ymc.get_goods_info(self.bulk_goods)
|
||||
if GetGoodsInfoResp_01['msg'] != '加购商品不存在':
|
||||
allure.step("步骤4:添加会员有优惠商品")
|
||||
AddGoodsResp = self.ymc.add_cart_goods(GetGoodsInfoResp_01, 1, LoginData)
|
||||
|
||||
allure.step("\n步骤5:退购一件商品")
|
||||
GetGoodsInfoList = [GetGoodsInfoResp_01]
|
||||
self.ymc.delete_cart_goods(GetGoodsInfoList, LoginData, AddGoodsResp)
|
||||
|
||||
allure.step("步骤6:获取购物车商品信息")
|
||||
self.ymc.get_cart_goods_info([GetGoodsInfoResp_01])
|
||||
allure.step("步骤7:请求订单结算")
|
||||
self.ymc.request_order_settlement(LoginData)
|
||||
else:
|
||||
LOGGER.info(f"---商品 {BulkGoods} 不存在")
|
||||
pytest.fail(f"---商品 {BulkGoods} 不存在")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(verbosity=2)
|
@ -12,7 +12,7 @@ class SignatureYM():
|
||||
self.token_url = 'https://auth.yimaogo.com/api/login/oauth/access_token'
|
||||
|
||||
def __tokens(self):
|
||||
oauth = OAuth2Session(self.client_id, redirect_uri=self.redirect_uri)
|
||||
oauth = OAuth2Session(client_id=self.client_id, redirect_uri=self.redirect_uri)
|
||||
authorization_url, state = oauth.create_authorization_url(self.authorization_base_url)
|
||||
token_dict = oauth.fetch_token(self.token_url, authorization_response={}, client_secret=self.client_secret)
|
||||
return token_dict["access_token"]
|
||||
|
Loading…
x
Reference in New Issue
Block a user