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
4d9702ae
Commit
4d9702ae
authored
Nov 06, 2023
by
liguangyu06
Browse files
新增特价单品批量启用和停用
parent
c282b685
Changes
5
Hide whitespace changes
Inline
Side-by-side
air_case/cmdc_special_fresenius_group/停用_批量_特价单品.air/停用_批量_特价单品.py
0 → 100644
View file @
4d9702ae
# -*- encoding=utf8 -*-
__author__
=
"liguangyu"
"""
case_tag:cmdc_api,cmdc停用_批量_特价单品,2264,2264-64,sit,bs
主数据平台:运营后台管理系统特价单品停用接口和导入接口
"""
from
common.common_func
import
commonFuc
from
air_case.cmdc_login.后台管理系统登录.后台管理系统登录
import
CmdcDoLogin
from
common.handle_excel
import
HandleExcel
from
common.db.db
import
mySql
import
requests
import
json
import
os
module
=
"cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取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_headers2"
,
cmdc_access_token
)
# 第二步特价单品列表查询
url
=
commonFuc
().
get_api_url
()
+
commonFuc
().
get_business_data
(
module
,
"url1"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload1"
)
# 发送请求
result
=
requests
.
post
(
url
,
json
=
request_body
,
headers
=
headers
)
result
=
json
.
loads
(
result
.
content
)
# 获取特价单品对应的商品信息和客户信息
product_code
=
result
[
"data"
][
"list"
][
0
][
"freseniusProduct"
][
"productCode"
]
product_name
=
result
[
"data"
][
"list"
][
0
][
"freseniusProduct"
][
"productName"
]
customer_code
=
result
[
"data"
][
"list"
][
0
][
"customerCode"
]
customer_name
=
result
[
"data"
][
"list"
][
0
][
"customerName"
]
# 获取文件
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"
# 将商品信息和客户信息写入文件中
excel
=
HandleExcel
(
file_path
,
"Sheet1"
)
excel
.
write_data
(
row
=
2
,
column
=
1
,
value
=
product_code
)
excel
.
write_data
(
row
=
2
,
column
=
2
,
value
=
product_name
)
excel
.
write_data
(
row
=
2
,
column
=
3
,
value
=
customer_code
)
excel
.
write_data
(
row
=
2
,
column
=
4
,
value
=
customer_name
)
# 第二步文件导入
url
=
commonFuc
().
get_api_url
()
+
commonFuc
().
get_business_data
(
module
,
"url18"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload18"
)
# 获取文件
file
=
open
(
file_path
,
"rb"
)
files
=
{
"file"
:
file
}
# 发送请求
result
=
requests
.
post
(
url
,
files
=
files
,
headers
=
headers
,
data
=
request_body
)
result
=
json
.
loads
(
result
.
content
)
# 导入成功后获取对应的套包id
group_id
=
result
[
"data"
][
"freseniusAgreementPrices"
][
0
][
"groupId"
]
fresenius_price_id
=
result
[
"data"
][
"freseniusAgreementPrices"
][
0
][
"freseniusPriceId"
]
# 第三步进行特价单品删除操作
url
=
commonFuc
().
get_api_url
()
+
commonFuc
().
get_business_data
(
module
,
"url_open"
)
request_body
=
{
"freseniusPriceIds"
:
[
fresenius_price_id
],
"groupPriceStatus"
:
0
,
"remarks"
:
"特价单品停用"
}
"""
场景:停用_批量_特价单品
用例名称:停用_批量_特价单品
输出:{"groupPriceStatus": 0}
"""
# 发送请求
result
=
requests
.
post
(
url
,
json
=
request_body
,
headers
=
headers
)
result
=
json
.
loads
(
result
.
content
)
print
(
result
)
file
.
close
()
# 数据库操作
mysql_handle
=
mySql
()
# 获取conf.ini文件中配置的数据库信息
host
,
port
,
user
,
pwd
=
mysql_handle
.
getConf
(
db
=
"cmdc_db"
)
# 数据库查询特价单品数量
sql
=
"SELECT t.groupPriceStatus FROM `cmdc-order`.tc_fresenius_agreement_price t WHERE groupId = {};"
.
format
(
group_id
)
result
=
{
"groupPriceStatus"
:
mysql_handle
.
selectSql
(
host
,
port
,
user
,
pwd
,
"cmdc-order"
,
sql
)[
0
][
0
]}
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict19"
)
# 断言实际结果中是否包含预期结果的内容
commonFuc
().
check_result
(
check_dict
,
result
)
air_case/cmdc_special_fresenius_group/启用_批量_特价单品.air/启用_批量_特价单品.py
0 → 100644
View file @
4d9702ae
# -*- encoding=utf8 -*-
__author__
=
"liguangyu"
"""
case_tag:cmdc_api,cmdc启用_批量_特价单品,2264,2264-63,sit,bs
主数据平台:运营后台管理系统特价单品启用接口和导入接口
"""
from
common.common_func
import
commonFuc
from
air_case.cmdc_login.后台管理系统登录.后台管理系统登录
import
CmdcDoLogin
from
common.handle_excel
import
HandleExcel
from
common.db.db
import
mySql
import
requests
import
json
import
os
module
=
"cmdc_special_fresenius_group"
# 第一步登录后台运营平台获取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_headers2"
,
cmdc_access_token
)
# 第二步特价单品列表查询
url
=
commonFuc
().
get_api_url
()
+
commonFuc
().
get_business_data
(
module
,
"url1"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload1"
)
# 发送请求
result
=
requests
.
post
(
url
,
json
=
request_body
,
headers
=
headers
)
result
=
json
.
loads
(
result
.
content
)
# 获取特价单品对应的商品信息和客户信息
product_code
=
result
[
"data"
][
"list"
][
0
][
"freseniusProduct"
][
"productCode"
]
product_name
=
result
[
"data"
][
"list"
][
0
][
"freseniusProduct"
][
"productName"
]
customer_code
=
result
[
"data"
][
"list"
][
0
][
"customerCode"
]
customer_name
=
result
[
"data"
][
"list"
][
0
][
"customerName"
]
# 获取文件
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"
# 将商品信息和客户信息写入文件中
excel
=
HandleExcel
(
file_path
,
"Sheet1"
)
excel
.
write_data
(
row
=
2
,
column
=
1
,
value
=
product_code
)
excel
.
write_data
(
row
=
2
,
column
=
2
,
value
=
product_name
)
excel
.
write_data
(
row
=
2
,
column
=
3
,
value
=
customer_code
)
excel
.
write_data
(
row
=
2
,
column
=
4
,
value
=
customer_name
)
# 第二步文件导入
url
=
commonFuc
().
get_api_url
()
+
commonFuc
().
get_business_data
(
module
,
"url18"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload18"
)
# 获取文件
file
=
open
(
file_path
,
"rb"
)
files
=
{
"file"
:
file
}
# 发送请求
result
=
requests
.
post
(
url
,
files
=
files
,
headers
=
headers
,
data
=
request_body
)
result
=
json
.
loads
(
result
.
content
)
# 导入成功后获取对应的套包id
group_id
=
result
[
"data"
][
"freseniusAgreementPrices"
][
0
][
"groupId"
]
fresenius_price_id
=
result
[
"data"
][
"freseniusAgreementPrices"
][
0
][
"freseniusPriceId"
]
# 第三步进行特价单品删除操作
url
=
commonFuc
().
get_api_url
()
+
commonFuc
().
get_business_data
(
module
,
"url_open"
)
request_body
=
{
"freseniusPriceIds"
:
[
fresenius_price_id
],
"groupPriceStatus"
:
1
,
"remarks"
:
"特价单品启用"
}
"""
场景:启用_批量_特价单品
用例名称:启用_批量_特价单品
输出:{"groupPriceStatus": 1}
"""
# 发送请求
result
=
requests
.
post
(
url
,
json
=
request_body
,
headers
=
headers
)
result
=
json
.
loads
(
result
.
content
)
print
(
result
)
file
.
close
()
# 数据库操作
mysql_handle
=
mySql
()
# 获取conf.ini文件中配置的数据库信息
host
,
port
,
user
,
pwd
=
mysql_handle
.
getConf
(
db
=
"cmdc_db"
)
# 数据库查询特价单品数量
sql
=
"SELECT t.groupPriceStatus FROM `cmdc-order`.tc_fresenius_agreement_price t WHERE groupId = {};"
.
format
(
group_id
)
result
=
{
"groupPriceStatus"
:
mysql_handle
.
selectSql
(
host
,
port
,
user
,
pwd
,
"cmdc-order"
,
sql
)[
0
][
0
]}
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict18"
)
# 断言实际结果中是否包含预期结果的内容
commonFuc
().
check_result
(
check_dict
,
result
)
data/cmdc_files/按条件停用单品与客户关系.xlsx
0 → 100644
View file @
4d9702ae
File added
data/cmdc_files/按条件启用单品与客户关系.xlsx
0 → 100644
View file @
4d9702ae
File added
data/cmdc_special_fresenius_group/data
View file @
4d9702ae
...
...
@@ -149,4 +149,29 @@ checkDict17: {"total": 1}
#测试场景:特价单品批量启用
#excel导入接口和报文
"url18": "/order/public/importEnableOrDisableSingleProduct"
"payload18": {"groupPriceStatus": 1}
#特价单品启用接口信息
"url_open": "/order/public/enableOrDisableProductPrice"
#预期结果
checkDict18: {"groupPriceStatus": 1}
#测试场景:特价单品批量停用
#预期结果
checkDict19: {"groupPriceStatus": 0}
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