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
a01dd687
Commit
a01dd687
authored
Apr 25, 2024
by
liguangyu06
Browse files
用例新增:必填字段为空_批量导入新增生产批号
parent
2a8c9d77
Changes
3
Hide whitespace changes
Inline
Side-by-side
air_case/cmdc_special_version/必填字段为空_批量导入新增生产批号.air/必填字段为空_批量导入新增生产批号.py
0 → 100644
View file @
a01dd687
# -*- encoding=utf8 -*-
__author__
=
"liguangyu"
"""
case_tag:cmdc_api,cmdc必填字段为空_批量导入新增生产批号,00,00-69,sit,be
主数据平台:后台运营系统生产批号新增接口
"""
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_version"
# 第一步登录后台运营系统获取token
username
=
commonFuc
().
get_business_data
(
module
,
"username_admin2"
)
password
=
commonFuc
().
get_business_data
(
module
,
"password_admin2"
)
# 获取登录后Cmdc_access_token
cmdc_access_token
=
CmdcDoLogin
(
username
,
password
).
get_token
()
headers
=
commonFuc
().
get_business_data
(
module
,
"json_headers_file"
,
cmdc_access_token
)
# 数据库操作
mysql_handle
=
mySql
()
# 获取conf.ini文件中配置的数据库信息
host
,
port
,
user
,
pwd
=
mysql_handle
.
getConf
(
db
=
"cmdc_db_be"
)
# 在数据库中已存在且未被上报的生产批号信息
sql
=
"SELECT t.customerCode,t.productCode,t.batchNumber,t.productLineCode FROM `cmdc-order`.tc_report_batch t "
\
"WHERE deleteSign = 0"
customerCode
=
mysql_handle
.
selectSql
(
host
,
port
,
user
,
pwd
,
"cmdc-order"
,
sql
)[
1
][
0
]
productCode
=
mysql_handle
.
selectSql
(
host
,
port
,
user
,
pwd
,
"cmdc-order"
,
sql
)[
1
][
1
]
batchNumber
=
mysql_handle
.
selectSql
(
host
,
port
,
user
,
pwd
,
"cmdc-order"
,
sql
)[
1
][
2
]
productLineCode
=
mysql_handle
.
selectSql
(
host
,
port
,
user
,
pwd
,
"cmdc-order"
,
sql
)[
1
][
3
]
# 获取文件
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
,
"上报植入"
)
excel
.
write_data
(
row
=
2
,
column
=
10
,
value
=
""
)
excel
.
write_data
(
row
=
2
,
column
=
11
,
value
=
customerCode
)
excel
.
write_data
(
row
=
2
,
column
=
12
,
value
=
""
)
excel
.
write_data
(
row
=
2
,
column
=
13
,
value
=
""
)
# 第三步批量导入生产批号新增
url
=
commonFuc
().
get_api_url
()
+
commonFuc
().
get_business_data
(
module
,
"url69"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload69"
,
productLineCode
)
# 获取文件
file
=
open
(
file_path
,
"rb"
)
files
=
{
"file"
:
file
}
"""
场景: 必填字段为空_批量导入新增生产批号
用例名称:必填字段为空_批量导入新增生产批号
输出:{"errList":"第2行上报植入Excel数据不完整"}
"""
# 发送请求
result
=
requests
.
post
(
url
,
files
=
files
,
headers
=
headers
,
data
=
request_body
)
# 获取接口响应时间
api_time
=
float
(
result
.
elapsed
.
total_seconds
())
# 获取生产批号
result
=
json
.
loads
(
result
.
content
)
# print(result)
result
=
{
"errList"
:
result
[
"data"
][
"errList"
][
0
]}
# 将接口响应时间添加至result
result
[
"api_time"
]
=
api_time
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict69"
)
print
(
check_dict
)
# 断言实际结果中是否包含预期结果的内容
commonFuc
().
check_result
(
check_dict
,
result
)
air_case/cmdc_special_version/批量导入新增生产批号验证.air/批量导入新增生产批号验证.py
View file @
a01dd687
...
@@ -75,6 +75,6 @@ result["api_time"] = api_time
...
@@ -75,6 +75,6 @@ result["api_time"] = api_time
# 获取预期结果
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict68"
,
batchNumber
)
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict68"
,
batchNumber
)
print
(
check_dict
)
#
print(check_dict)
# 断言实际结果中是否包含预期结果的内容
# 断言实际结果中是否包含预期结果的内容
commonFuc
().
check_result
(
check_dict
,
result
)
commonFuc
().
check_result
(
check_dict
,
result
)
data/cmdc_special_version/data
View file @
a01dd687
...
@@ -454,7 +454,11 @@ checkDict67: {"batchNumber":"%s"}
...
@@ -454,7 +454,11 @@ checkDict67: {"batchNumber":"%s"}
#预期结果
#预期结果
checkDict68: {"batchNumber":"%s"}
checkDict68: {"batchNumber":"%s"}
#测试场景69:必填字段为空_批量导入新增生产批号
"url69": "/order/public/reportBatchImport"
"payload69": {"productLineCode":"%s"}
#预期结果
checkDict69: {"errList":"第2行上报植入Excel数据不完整"}
...
...
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