Commit b6dd9c54 authored by liguangyu06's avatar liguangyu06
Browse files

用例优化

parent 754d0a29
# -*- encoding=utf8 -*-
__author__ = "liguangyu"
"""
case_tag:cmdc_api,cmdc赠品(jde0元)活动验证,2262,2262-30,sit,bs
涉及接口:运营后台管理系统登录、活动基本信息获取、活动包含的商品信息和查询商品对应的促销活动等接口
"""
from common.common_func import commonFuc
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
from air_case.cmdc_login.多采商城登录.多采商城登录 import CmdcMaiiLogin
import requests
import json
module = "cmdc_commodity_activity"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username4")
password = commonFuc().get_business_data(module, "password4")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcDoLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers", cmdc_access_token)
# 第二步进行促销活动列表获取
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url1")
request_body = commonFuc().get_business_data(module, "payload23")
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
# 获取活动对应的activityBasicId和activityType
activity_basic_id = result["data"]["list"][0]["activityBasicId"]
activity_type = result["data"]["list"][0]["activityType"]
# 第三步获取对应活动包含的商品信息
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url3")
request_body = commonFuc().get_business_data(module, "payload3", activity_basic_id, activity_type)
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
# print(result)
for i in result["data"]:
if i["productType"] == 0:
# 获取活动主商品companyCode、productCode
company_code = result["data"][0]["companyCode"]
product_code = result["data"][0]["productCode"]
# 获取登录所需账号密码
username = commonFuc().get_business_data(module, "username3")
password = commonFuc().get_business_data(module, "password3")
# 获取登录后Cmdc_access_token
cmdc_access_token = CmdcMaiiLogin(username, password).get_token()
headers = commonFuc().get_business_data(module, "json_headers1", cmdc_access_token)
# 第四步获取商品对应的赠品数据并进行验证
url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url16")
request_body = [
{"buyerCartId": 0, "purchaseQuantity": 1, "productCode": product_code, "companyCode": company_code}]
"""
场景:商品参与满减活动验证
用例名称:商品参与满减活动验证
输出:{"productId":111477}
"""
# 发送请求
result = requests.post(url, json=request_body, headers=headers)
result = json.loads(result.content)
# 获取赠品数据
result = {"productId": result["data"][0]["purchaseZeroProductList"][0]["productId"]}
# print(result)
# 获取预期结果
check_dict = commonFuc().get_business_data(module, "checkDict23")
print(check_dict)
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict, result)
...@@ -28,7 +28,7 @@ class CmdcMaiiLogin(): ...@@ -28,7 +28,7 @@ class CmdcMaiiLogin():
param = {"uuid": uuid_handle} param = {"uuid": uuid_handle}
# 获取多采商城登录页面获取验证码地址 # 获取多采商城登录页面获取验证码地址
code_url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "getVerifyCode_url") code_url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "getVerifyCode_url")
# code_url = "https://service-slb.cmic.com.cn/sso/getVerifyCode" # code_url = "https://service-uat.gyqxmall.com/sso/getVerifyCode"
# 发送请求获取验证码 # 发送请求获取验证码
result = requests.get(code_url, params=param) result = requests.get(code_url, params=param)
# print(result.content) # print(result.content)
...@@ -42,10 +42,9 @@ class CmdcMaiiLogin(): ...@@ -42,10 +42,9 @@ class CmdcMaiiLogin():
code = VerificationCodeOcr(code_path, "rainbow123", "rainbow123").base64_api() code = VerificationCodeOcr(code_path, "rainbow123", "rainbow123").base64_api()
# 获取多采商城登录地址 # 获取多采商城登录地址
cmdc_url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "maii_login_url") cmdc_url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "maii_login_url")
# cmdc_url = "https://service-slb.cmic.com.cn/sso/mallLogin" # cmdc_url = "https://service-uat.gyqxmall.com/sso/mallLogin"
# 组装请求报文 # 组装请求报文
request_body = {"userName": self.username, "password": self.password, "validateCode": code, "uuid": uuid_handle} request_body = {"userName": self.username, "password": self.password, "validateCode": code, "uuid": uuid_handle}
# print(request_body)
# 发送请求 # 发送请求
result = requests.post(cmdc_url, params=request_body) result = requests.post(cmdc_url, params=request_body)
# 获取预期结果 # 获取预期结果
...@@ -56,3 +55,8 @@ class CmdcMaiiLogin(): ...@@ -56,3 +55,8 @@ class CmdcMaiiLogin():
result = json.loads(result.content) result = json.loads(result.content)
token = commonFuc().analysis_json('accessToken', result) token = commonFuc().analysis_json('accessToken', result)
return token return token
if __name__ == "__main__":
cmdc_access_token = CmdcMaiiLogin("BJ0621", "Aa123456").get_token()
print(cmdc_access_token)
\ No newline at end of file
...@@ -169,6 +169,42 @@ checkDict21: {"activityBasicId": "%s"} ...@@ -169,6 +169,42 @@ checkDict21: {"activityBasicId": "%s"}
"password3": "Tss12345" "password3": "Tss12345"
#预期结果 #预期结果
checkDict22: {"activity": null} checkDict22: {"activity": null}
#赠品验证
# 国联公司多采商城登录信息
"username3": "GL1000086"
"password3": "Aa123456"
#后台运营管理系统登录信息(国联公司)
"username4": "Admin00102"
"password4": "Aa123456"
#验证赠品(jde0元)活动
#在促销列表中获取指定促销活动
"payload23": {"activityBasic":{"activityBasicId":"10113","activityName":"","activityStatus":""},"activityDifferenceUser":{"customerCode":"","customerCompanyName":""},"activityProduct":{"productCode":"","materialCode":"","productLineCode":null,"specifications":""},"pageSize":10,"allowanceFlag":null,"pageStart":1,"startTime":null,"cStartTime":null,"endTime":null,"cEndTime":null,"pageNum":1}
#预期结果
checkDict23: {"productId":111477}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment