Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
test
autotest-airtest-web-cmdc
Commits
5019fc31
Commit
5019fc31
authored
Nov 17, 2023
by
liguangyu06
Browse files
新增客户发放返利批量导入接口用例
parent
ddf2387d
Changes
3
Hide whitespace changes
Inline
Side-by-side
air_case/cmdc_rebate/批量导入验证_客户发放返利.air/批量导入验证_客户发放返利.py
0 → 100644
View file @
5019fc31
# -*- encoding=utf8 -*-
__author__
=
"liguangyu"
"""
case_tag:cmdc_api,cmdc批量导入验证_客户发放返利,2271,2271-30,sit,bs
主数据平台:运营后台管理系统客户发放返利批量导入接口
"""
from
common.common_func
import
commonFuc
from
air_case.cmdc_login.后台管理系统登录.后台管理系统登录
import
CmdcDoLogin
from
common.handle_excel
import
HandleExcel
from
datetime
import
timedelta
,
date
import
requests
import
json
import
os
import
random
module
=
"cmdc_rebate"
# 第一步登录后台运营平台获取cmdc_access_token
# 获取登录所需账号密码
username
=
commonFuc
().
get_business_data
(
module
,
"username1"
)
password
=
commonFuc
().
get_business_data
(
module
,
"password1"
)
# 获取登录后Cmdc_access_token
cmdc_access_token
=
CmdcDoLogin
(
username
,
password
).
get_token
()
headers
=
commonFuc
().
get_business_data
(
module
,
"json_headers_file"
,
cmdc_access_token
)
# 获取文件
BASE_DIR
=
os
.
path
.
dirname
(
os
.
path
.
dirname
(
os
.
path
.
dirname
(
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
)))))
file_path
=
BASE_DIR
+
"/data/cmdc_files/返利模板.xlsx"
# 第二步获取返利规则列表
url
=
commonFuc
().
get_api_url
()
+
commonFuc
().
get_business_data
(
module
,
"url28_1"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload28_1"
)
# 发送请求
result
=
requests
.
post
(
url
,
json
=
request_body
,
headers
=
headers
)
result
=
json
.
loads
(
result
.
content
)
# 生成一个随机数字,用于后续随机选择某一条客户发放返利信息
rebate_random
=
random
.
randint
(
0
,
len
(
result
[
"data"
][
"list"
])
-
1
)
# 获取返利规则信息
rebate_id
=
result
[
"data"
][
"list"
][
rebate_random
][
"rebateid"
]
# 第三步获取返利规则详情信息
url
=
commonFuc
().
get_api_url
()
+
commonFuc
().
get_business_data
(
module
,
"url23"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload23"
,
rebate_id
)
# 发送请求
result
=
requests
.
post
(
url
,
json
=
request_body
,
headers
=
headers
)
result
=
json
.
loads
(
result
.
content
)
# 获取规则对应的客户信息
customer_code
=
result
[
"data"
][
"customerDataList"
][
random
.
randint
(
0
,
len
(
result
[
"data"
][
"customerDataList"
])
-
1
)][
"customercode"
]
# 生成随机返利金额
amount
=
random
.
randint
(
1
,
1000
)
# 随机生成日期
start_date
=
date
(
2000
,
1
,
1
)
end_date
=
date
.
today
()
def
random_date
(
start
,
end
):
delta
=
end
-
start
random_days
=
random
.
randint
(
0
,
delta
.
days
)
return
start
+
timedelta
(
days
=
random_days
)
random_date
=
random_date
(
start_date
,
end_date
)
# 将客户信息写入导入模板中
excel
=
HandleExcel
(
file_path
,
"Sheet1"
)
excel
.
write_data
(
row
=
2
,
column
=
1
,
value
=
customer_code
)
excel
.
write_data
(
row
=
2
,
column
=
2
,
value
=
rebate_id
)
excel
.
write_data
(
row
=
2
,
column
=
3
,
value
=
amount
)
excel
.
write_data
(
row
=
2
,
column
=
4
,
value
=
start_date
.
strftime
(
'%Y/%m/%d'
))
excel
.
write_data
(
row
=
2
,
column
=
5
,
value
=
random_date
.
strftime
(
'%Y/%m/%d'
))
excel
.
write_data
(
row
=
2
,
column
=
6
,
value
=
"客户发放返利批量导入验证"
)
# 第四步,进行文件导入操作
url
=
commonFuc
().
get_api_url
()
+
commonFuc
().
get_business_data
(
module
,
"url29"
)
# 获取文件
file
=
open
(
file_path
,
"rb"
)
files
=
{
"file"
:
file
}
"""
场景: 批量导入验证_客户发放返利
用例名称:批量导入验证_客户发放返利
输出:{"success":true}
"""
# 发送请求
result
=
requests
.
post
(
url
,
files
=
files
,
headers
=
headers
)
result
=
json
.
loads
(
result
.
content
)
print
(
result
)
file
.
close
()
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict29"
)
# 断言实际结果中是否包含预期结果的内容
commonFuc
().
check_result
(
check_dict
,
result
)
\ No newline at end of file
data/cmdc_files/返利模板.xlsx
0 → 100644
View file @
5019fc31
File added
data/cmdc_rebate/data
View file @
5019fc31
...
@@ -223,7 +223,10 @@ checkDict27: {"success":true,"code":"200","message":"ok","data":1}
...
@@ -223,7 +223,10 @@ checkDict27: {"success":true,"code":"200","message":"ok","data":1}
checkDict28: {"customercode":"%s"}
checkDict28: {"customercode":"%s"}
#测试场景三十:批量导入验证_客户发放返利
"url29": "/order/rebateOperaSku/rebateOperaSkuImport"
#预期结果
checkDict29: {"success":true,"code":"200","message":"OK"}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment