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
2b6d8c1c
Commit
2b6d8c1c
authored
Mar 12, 2024
by
李光宇
Browse files
Merge branch 'master' into 'main'
Master|代码更新归档 See merge request
!6
parents
e7e2bda7
58586362
Changes
728
Hide whitespace changes
Inline
Side-by-side
air_case/cmdc_32st/数据重复校验拦截_采购协议批量导入.air/数据重复校验拦截_采购协议批量导入.py
0 → 100644
View file @
2b6d8c1c
# -*- encoding=utf8 -*-
__author__
=
"liguangyu"
"""
case_tag:cmdc_api,cmdc数据重复校验拦截_采购协议批量导入,32,32-5,sit,be
主数据平台:后台运营系统采购协议批量导入接口
"""
from
common.common_func
import
commonFuc
from
air_case.cmdc_login.后台管理系统登录.后台管理系统登录
import
CmdcDoLogin
import
requests
import
json
import
os
module
=
"cmdc_32st"
# 第一步登录后台运营系统获取token
username
=
commonFuc
().
get_business_data
(
module
,
"username1_be"
)
password
=
commonFuc
().
get_business_data
(
module
,
"password1_be"
)
# 获取登录后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
,
"url5"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload5"
)
# 获取文件
file
=
open
(
file_path
,
"rb"
)
files
=
{
"file"
:
file
}
"""
场景: 数据重复校验拦截_采购协议批量导入
用例名称:数据重复校验拦截_采购协议批量导入
输出:{"success":false,"code":"stock","message":"客户编码:1000086对应采购协议重复","data":null,"freshToken":null}
"""
# 发送请求
result
=
requests
.
post
(
url
,
files
=
files
,
headers
=
headers
)
# 获取接口响应时间
api_time
=
float
(
result
.
elapsed
.
total_seconds
())
# 将接口响应时间添加至result
result
=
json
.
loads
(
result
.
content
)
result
[
"api_time"
]
=
api_time
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict5"
)
# print(check_dict)
# 断言实际结果中是否包含预期结果的内容
commonFuc
().
check_result
(
check_dict
,
result
)
air_case/cmdc_32st/登录接口新增雅培配置字段验证.air/登录接口新增雅培配置字段验证.py
0 → 100644
View file @
2b6d8c1c
# -*- encoding=utf8 -*-
__author__
=
"liguangyu"
"""
case_tag:cmdc_api,cmdc登录接口新增雅培配置字段验证,32,32-1,sit,be
主数据平台:后台运营系统登录接口
"""
from
common.common_func
import
commonFuc
import
requests
import
uuid
from
common.verification_code_ocr
import
VerificationCodeOcr
import
json
import
os
import
hashlib
module
=
"cmdc_32st"
username
=
commonFuc
().
get_business_data
(
module
,
"username1_be"
)
password
=
commonFuc
().
get_business_data
(
module
,
"password1_be"
)
# 获取唯一识别码
uuid_handle
=
uuid
.
uuid4
()
# 获取验证码报文
param
=
{
"uuid"
:
uuid_handle
}
# 获取登录页面获取验证码地址
code_url
=
commonFuc
().
get_api_url
()
+
commonFuc
().
get_business_data
(
module
,
"getVerifyCode_url"
)
# 发送请求获取验证码
result
=
requests
.
get
(
code_url
,
params
=
param
)
# print(result.content)
# 获取当前文件路径
BASE_DIR
=
os
.
path
.
dirname
(
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
)))
code_path
=
BASE_DIR
+
"/verifycode.png"
# 获取到验证码存入本地文件
with
open
(
code_path
,
'wb'
)
as
f
:
f
.
write
(
result
.
content
)
# 识别并获取验证码
code
=
VerificationCodeOcr
(
code_path
,
"rainbow123"
,
"rainbow123"
).
base64_api
()
# 获取登录地址
cmdc_url
=
commonFuc
().
get_api_url
()
+
commonFuc
().
get_business_data
(
module
,
"do_login_url"
)
md
=
hashlib
.
md5
(
password
.
encode
())
# 创建md5对象
EncryptPassword
=
md
.
hexdigest
()
# 登录密码进行md5加密
print
(
'加密后的密码'
,
EncryptPassword
)
# 加密后的密码
# 组装请求报文
request_body
=
{
"userName"
:
username
,
"password"
:
EncryptPassword
,
"validateCode"
:
code
,
"uuid"
:
uuid_handle
}
"""
场景: 登录接口新增雅培配置字段验证
用例名称:登录接口新增雅培配置字段验证
输出:{"productCode":"%s"}
"""
# 发送请求
result
=
requests
.
post
(
cmdc_url
,
params
=
request_body
)
# 获取接口响应时间
api_time
=
float
(
result
.
elapsed
.
total_seconds
())
# 将接口响应时间添加至result
result
=
json
.
loads
(
result
.
content
)
result
[
"api_time"
]
=
api_time
# 新增雅培配置字段
check_list
=
[
"exceedSign"
,
"examineSign"
,
"materialSign"
,
"purchaseSign"
]
# 断言实际结果中是否包含预期结果的内容
# commonFuc().check_result(cmdc_access_token, result)
commonFuc
().
check_variable_exist
(
check_list
,
result
[
"data"
])
air_case/cmdc_32st/空数据导入校验验证_超发配置导入.air/空数据导入校验验证_超发配置导入.py
0 → 100644
View file @
2b6d8c1c
# -*- encoding=utf8 -*-
__author__
=
"liguangyu"
"""
case_tag:cmdc_api,cmdc空数据导入校验验证_超发配置导入,32,32-11,sit,be
主数据平台:后台运营系统超发配置导入接口
"""
from
common.common_func
import
commonFuc
from
air_case.cmdc_login.后台管理系统登录.后台管理系统登录
import
CmdcDoLogin
import
random
import
requests
import
json
import
os
module
=
"cmdc_32st"
# 第一步登录后台运营系统获取token
username
=
commonFuc
().
get_business_data
(
module
,
"username1_be"
)
password
=
commonFuc
().
get_business_data
(
module
,
"password1_be"
)
# 获取登录后Cmdc_access_token
cmdc_access_token
=
CmdcDoLogin
(
username
,
password
).
get_token
()
headers
=
commonFuc
().
get_business_data
(
module
,
"json_headers_file"
,
cmdc_access_token
)
# 第二步获取商品信息
url
=
commonFuc
().
get_api_url
()
+
commonFuc
().
get_business_data
(
module
,
"url10_1"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload10_1"
)
# 发送请求
result
=
requests
.
post
(
url
,
json
=
request_body
,
headers
=
headers
)
result
=
json
.
loads
(
result
.
content
)
# 生成随机数
product_random
=
random
.
randint
(
0
,
len
(
result
[
"data"
][
"list"
])
-
1
)
# 获取商品信息
productCode
=
result
[
"data"
][
"list"
][
product_random
][
"productCode"
]
productName
=
result
[
"data"
][
"list"
][
product_random
][
"productName"
]
specifications
=
result
[
"data"
][
"list"
][
product_random
][
"specifications"
]
num
=
random
.
randint
(
1
,
5
)
# print(productCode)
# 获取文件
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
,
"url11"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload11"
)
# 获取文件
file
=
open
(
file_path
,
"rb"
)
files
=
{
"file"
:
file
}
"""
场景: 空数据导入校验验证_超发配置导入
用例名称:空数据导入校验验证_超发配置导入
输出:{"success":false,"code":"EXCEL","message":"excel数据内容不能为空","data":null,"freshToken":null}
"""
# 发送请求
result
=
requests
.
post
(
url
,
files
=
files
,
headers
=
headers
,
data
=
request_body
)
# 获取接口响应时间
api_time
=
float
(
result
.
elapsed
.
total_seconds
())
# 将接口响应时间添加至result
result
=
json
.
loads
(
result
.
content
)
result
[
"api_time"
]
=
api_time
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict11"
)
# print(check_dict)
# 断言实际结果中是否包含预期结果的内容
commonFuc
().
check_result
(
check_dict
,
result
)
air_case/cmdc_32st/获取超发记录.air/获取超发记录.py
0 → 100644
View file @
2b6d8c1c
# -*- encoding=utf8 -*-
__author__
=
"liguangyu"
"""
case_tag:cmdc_api,cmdc获取超发记录,32,32-14,sit,be
主数据平台:后台运营系统获取超发记录接口
"""
from
common.common_func
import
commonFuc
from
air_case.cmdc_login.后台管理系统登录.后台管理系统登录
import
CmdcDoLogin
from
common.db.db
import
mySql
import
requests
import
json
module
=
"cmdc_32st"
# 第一步登录后台运营系统获取token
username
=
commonFuc
().
get_business_data
(
module
,
"username1_be"
)
password
=
commonFuc
().
get_business_data
(
module
,
"password1_be"
)
# 获取登录后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
,
"url14"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload14"
)
# print(request_body)
"""
场景: 获取超发记录
用例名称:获取超发记录
输出:{"total":"%s"}
"""
# 发送请求
result
=
requests
.
post
(
url
,
json
=
request_body
,
headers
=
headers
)
# 获取接口响应时间
api_time
=
float
(
result
.
elapsed
.
total_seconds
())
# 获取超发记录数量
result
=
json
.
loads
(
result
.
content
)
purchase_id
=
result
[
"data"
][
"total"
]
# 数据库操作
mysql_handle
=
mySql
()
# 获取conf.ini文件中配置的数据库信息
host
,
port
,
user
,
pwd
=
mysql_handle
.
getConf
(
db
=
"cmdc_db_be"
)
# 查询数据库超发记录数量
sql
=
"SELECT count(t.stayOverflowId) FROM `cmdc-order`.tc_stay_overflow t WHERE companyCode = 00102"
total
=
mysql_handle
.
selectSql
(
host
,
port
,
user
,
pwd
,
"cmdc-order"
,
sql
)[
0
][
0
]
# 将接口响应时间添加至result
result
[
"api_time"
]
=
api_time
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict14"
,
total
)
# print(check_dict)
# 断言实际结果中是否包含预期结果的内容
commonFuc
().
check_result
(
check_dict
,
result
)
air_case/cmdc_32st/获取超发配置列表.air/获取超发配置列表.py
0 → 100644
View file @
2b6d8c1c
# -*- encoding=utf8 -*-
__author__
=
"liguangyu"
"""
case_tag:cmdc_api,cmdc获取超发配置列表,32,32-7,sit,be
主数据平台:后台运营系统获取超发配置列表接口
"""
from
common.common_func
import
commonFuc
from
air_case.cmdc_login.后台管理系统登录.后台管理系统登录
import
CmdcDoLogin
from
common.db.db
import
mySql
import
requests
import
json
module
=
"cmdc_32st"
# 第一步登录后台运营系统获取token
username
=
commonFuc
().
get_business_data
(
module
,
"username1_be"
)
password
=
commonFuc
().
get_business_data
(
module
,
"password1_be"
)
# 获取登录后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
,
"url7"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload7"
)
# print(request_body)
"""
场景: 获取超发配置列表
用例名称:获取超发配置列表
输出:{"total":"%s"}
"""
# 发送请求
result
=
requests
.
post
(
url
,
json
=
request_body
,
headers
=
headers
)
# 获取接口响应时间
api_time
=
float
(
result
.
elapsed
.
total_seconds
())
# 获取超发配置数量
result
=
json
.
loads
(
result
.
content
)
purchase_id
=
result
[
"data"
][
"total"
]
# 数据库操作
mysql_handle
=
mySql
()
# 获取conf.ini文件中配置的数据库信息
host
,
port
,
user
,
pwd
=
mysql_handle
.
getConf
(
db
=
"cmdc_db_be"
)
# 查询数据库超发配置数量
sql
=
"SELECT count(t.superId) FROM `cmdc-order`.tc_supernova t WHERE companyCode = 00102"
total
=
mysql_handle
.
selectSql
(
host
,
port
,
user
,
pwd
,
"cmdc-order"
,
sql
)[
0
][
0
]
# 将接口响应时间添加至result
result
[
"api_time"
]
=
api_time
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict7"
,
total
)
# print(check_dict)
# 断言实际结果中是否包含预期结果的内容
commonFuc
().
check_result
(
check_dict
,
result
)
air_case/cmdc_32st/超发记录导出功能验证.air/超发记录导出功能验证.py
0 → 100644
View file @
2b6d8c1c
# -*- encoding=utf8 -*-
__author__
=
"liguangyu"
"""
case_tag:cmdc_api,cmdc超发记录导出功能验证,32,32-15,sit,be
主数据平台:后台运营系统超发记录导出接口
"""
from
common.common_func
import
commonFuc
from
air_case.cmdc_login.后台管理系统登录.后台管理系统登录
import
CmdcDoLogin
from
common.handle_excel
import
HandleExcel
import
requests
import
random
import
json
import
os
module
=
"cmdc_32st"
# 第一步登录后台运营系统获取token
username
=
commonFuc
().
get_business_data
(
module
,
"username1_be"
)
password
=
commonFuc
().
get_business_data
(
module
,
"password1_be"
)
# 获取登录后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
,
"url14"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload14"
)
# 发送请求
result
=
requests
.
post
(
url
,
json
=
request_body
,
headers
=
headers
)
result
=
json
.
loads
(
result
.
content
)
# 生成随机数
flow_random
=
random
.
randint
(
0
,
len
(
result
[
"data"
][
"list"
])
-
1
)
# 获取超发记录信息
demandCode
=
result
[
"data"
][
"list"
][
flow_random
][
"demandCode"
]
# 第三步进行列表查询条件验证
url
=
commonFuc
().
get_api_url
()
+
commonFuc
().
get_business_data
(
module
,
"url16"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload16"
,
demandCode
)
"""
场景: 超发记录导出功能验证
用例名称:超发记录导出功能验证
输出:{"demandCode":"%s"}
"""
# 发送请求
result
=
requests
.
post
(
url
,
json
=
request_body
,
headers
=
headers
)
# 获取接口响应时间
api_time
=
float
(
result
.
elapsed
.
total_seconds
())
# 获取文件
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"
# 获取到导出文件存入cmdc_files文件中
with
open
(
file_path
,
'wb'
)
as
f
:
f
.
write
(
result
.
content
)
# 获取导出文件中子需求单号
excel
=
HandleExcel
(
file_path
,
"Sheet1"
)
# print(excel.read_data())
result
=
{
"demandCode"
:
excel
.
read_data
()[
0
].
get
(
"子需求单号"
)}
# 将接口响应时间添加至结果中
result
[
"api_time"
]
=
api_time
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict16"
,
demandCode
)
# print(check_dict)
# 断言实际结果中是否包含预期结果的内容
commonFuc
().
check_result
(
check_dict
,
result
)
air_case/cmdc_32st/超发配置导入功能验证.air/超发配置导入功能验证.py
0 → 100644
View file @
2b6d8c1c
# -*- encoding=utf8 -*-
__author__
=
"liguangyu"
"""
case_tag:cmdc_api,cmdc超发配置导入功能验证,32,32-10,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
random
import
requests
import
json
import
os
module
=
"cmdc_32st"
# 第一步登录后台运营系统获取token
username
=
commonFuc
().
get_business_data
(
module
,
"username1_be"
)
password
=
commonFuc
().
get_business_data
(
module
,
"password1_be"
)
# 获取登录后Cmdc_access_token
cmdc_access_token
=
CmdcDoLogin
(
username
,
password
).
get_token
()
headers
=
commonFuc
().
get_business_data
(
module
,
"json_headers_file"
,
cmdc_access_token
)
# 第二步获取商品信息
url
=
commonFuc
().
get_api_url
()
+
commonFuc
().
get_business_data
(
module
,
"url10_1"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload10_1"
)
# 发送请求
result
=
requests
.
post
(
url
,
json
=
request_body
,
headers
=
headers
)
result
=
json
.
loads
(
result
.
content
)
# 生成随机数
product_random
=
random
.
randint
(
0
,
len
(
result
[
"data"
][
"list"
])
-
1
)
# 获取商品信息
productCode
=
result
[
"data"
][
"list"
][
product_random
][
"productCode"
]
productName
=
result
[
"data"
][
"list"
][
product_random
][
"productName"
]
specifications
=
result
[
"data"
][
"list"
][
product_random
][
"specifications"
]
num
=
random
.
randint
(
1
,
5
)
# print(num)
# print(productCode)
# 获取文件
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
=
productCode
)
excel
.
write_data
(
row
=
2
,
column
=
2
,
value
=
productName
)
excel
.
write_data
(
row
=
2
,
column
=
3
,
value
=
specifications
)
excel
.
write_data
(
row
=
2
,
column
=
4
,
value
=
num
)
excel
.
write_data
(
row
=
2
,
column
=
5
,
value
=
num
)
# 第三步进行超发配置导入操作
url
=
commonFuc
().
get_api_url
()
+
commonFuc
().
get_business_data
(
module
,
"url10"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload10"
)
# 获取文件
file
=
open
(
file_path
,
"rb"
)
files
=
{
"file"
:
file
}
"""
场景: 超发配置导入功能验证
用例名称:超发配置导入功能验证
输出:{"wholeQuantity":"%s"}
"""
# 发送请求
result
=
requests
.
post
(
url
,
files
=
files
,
headers
=
headers
,
data
=
request_body
)
# 获取接口响应时间
api_time
=
float
(
result
.
elapsed
.
total_seconds
())
# 数据库操作
mysql_handle
=
mySql
()
# 获取conf.ini文件中配置的数据库信息
host
,
port
,
user
,
pwd
=
mysql_handle
.
getConf
(
db
=
"cmdc_db_be"
)
# 查询数据库超发配置数量
sql
=
"SELECT t.wholeQuantity FROM `cmdc-order`.tc_supernova t "
\
"WHERE companyCode = 00102 and productCode = {}"
.
format
(
productCode
)
total
=
int
(
mysql_handle
.
selectSql
(
host
,
port
,
user
,
pwd
,
"cmdc-order"
,
sql
)[
0
][
0
])
# print(sql)
result
=
{
"wholeQuantity"
:
total
}
# 将接口响应时间添加至result
result
[
"api_time"
]
=
api_time
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict10"
,
num
)
# print(check_dict)
# 断言实际结果中是否包含预期结果的内容
commonFuc
().
check_result
(
check_dict
,
result
)
air_case/cmdc_32st/超发配置导入日志记录验证.air/超发配置导入日志记录验证.py
0 → 100644
View file @
2b6d8c1c
# -*- encoding=utf8 -*-
__author__
=
"liguangyu"
"""
case_tag:cmdc_api,cmdc超发配置导入日志记录验证,32,32-13,sit,be
主数据平台:后台运营系统超发配置导入日志接口
"""
from
common.common_func
import
commonFuc
from
air_case.cmdc_login.后台管理系统登录.后台管理系统登录
import
CmdcDoLogin
from
common.db.db
import
mySql
import
requests
import
json
module
=
"cmdc_32st"
# 第一步登录后台运营系统获取token
username
=
commonFuc
().
get_business_data
(
module
,
"username1_be"
)
password
=
commonFuc
().
get_business_data
(
module
,
"password1_be"
)
# 获取登录后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
,
"url13"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload13"
)
# print(request_body)
"""
场景: 超发配置导入日志记录验证
用例名称:超发配置导入日志记录验证
输出:{"total":"%s"}
"""
# 发送请求
result
=
requests
.
get
(
url
,
params
=
request_body
,
headers
=
headers
)
# 获取接口响应时间
api_time
=
float
(
result
.
elapsed
.
total_seconds
())
# 获取超发配置导入记录数量
result
=
json
.
loads
(
result
.
content
)
purchase_id
=
result
[
"data"
][
"total"
]
# 数据库操作
mysql_handle
=
mySql
()
# 获取conf.ini文件中配置的数据库信息
host
,
port
,
user
,
pwd
=
mysql_handle
.
getConf
(
db
=
"cmdc_db_be"
)
# 查询数据库超发配置导入记录数量
sql
=
"SELECT count(t.id) FROM `cmdc-order`.tc_excel_log t "
\
"WHERE sheetName = 'supernova-D' and companyCode =00102 ORDER BY createTime desc"
total
=
mysql_handle
.
selectSql
(
host
,
port
,
user
,
pwd
,
"cmdc-order"
,
sql
)[
0
][
0
]
# 将接口响应时间添加至result
result
[
"api_time"
]
=
api_time
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict13"
,
total
)
# print(check_dict)
# 断言实际结果中是否包含预期结果的内容
commonFuc
().
check_result
(
check_dict
,
result
)
air_case/cmdc_32st/超发配置导出功能验证.air/超发配置导出功能验证.py
0 → 100644
View file @
2b6d8c1c
# -*- encoding=utf8 -*-
__author__
=
"liguangyu"
"""
case_tag:cmdc_api,cmdc超发配置导出功能验证,32,32-9,sit,be
主数据平台:后台运营系统超发配置导出接口
"""
from
common.common_func
import
commonFuc
from
air_case.cmdc_login.后台管理系统登录.后台管理系统登录
import
CmdcDoLogin
from
common.handle_excel
import
HandleExcel
import
random
import
requests
import
json
import
os
module
=
"cmdc_32st"
# 第一步登录后台运营系统获取token
username
=
commonFuc
().
get_business_data
(
module
,
"username1_be"
)
password
=
commonFuc
().
get_business_data
(
module
,
"password1_be"
)
# 获取登录后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
,
"url7"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload7"
)
# 发送请求
result
=
requests
.
post
(
url
,
json
=
request_body
,
headers
=
headers
)
result
=
json
.
loads
(
result
.
content
)
# 生成随机数
super_random
=
random
.
randint
(
0
,
len
(
result
[
"data"
][
"list"
])
-
1
)
# 获取超发配置信息
strsQuery
=
result
[
"data"
][
"list"
][
super_random
][
"productCode"
]
# 第三步超发配置导出
url
=
commonFuc
().
get_api_url
()
+
commonFuc
().
get_business_data
(
module
,
"url9"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload9"
,
strsQuery
)
"""
场景: 超发配置导出功能验证
用例名称:超发配置导出功能验证
输出:{"strsQuery":"%s"}
"""
# 发送请求
result
=
requests
.
post
(
url
,
json
=
request_body
,
headers
=
headers
)
# 获取接口响应时间
api_time
=
float
(
result
.
elapsed
.
total_seconds
())
# 获取文件
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"
# 获取到导出文件存入cmdc_files文件中
with
open
(
file_path
,
'wb'
)
as
f
:
f
.
write
(
result
.
content
)
# 获取导出文件中商品编码
excel
=
HandleExcel
(
file_path
,
"Sheet1"
)
# print(excel.read_data())
result
=
{
"strsQuery"
:
excel
.
read_data
()[
0
].
get
(
"商品编码"
)}
# 将接口响应时间添加至结果中
result
[
"api_time"
]
=
api_time
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict9"
,
strsQuery
)
# print(check_dict)
# 断言实际结果中是否包含预期结果的内容
commonFuc
().
check_result
(
check_dict
,
result
)
air_case/cmdc_32st/采购协议导出功能验证.air/采购协议导出功能验证.py
0 → 100644
View file @
2b6d8c1c
# -*- encoding=utf8 -*-
__author__
=
"liguangyu"
"""
case_tag:cmdc_api,cmdc采购协议导出功能验证,32,32-6,sit,be
主数据平台:后台运营系统采购协议导出接口
"""
from
common.common_func
import
commonFuc
from
air_case.cmdc_login.后台管理系统登录.后台管理系统登录
import
CmdcDoLogin
from
common.handle_excel
import
HandleExcel
import
requests
import
os
module
=
"cmdc_32st"
# 第一步登录后台运营系统获取token
username
=
commonFuc
().
get_business_data
(
module
,
"username1_be"
)
password
=
commonFuc
().
get_business_data
(
module
,
"password1_be"
)
# 获取登录后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
,
"url6"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload6"
)
"""
场景: 采购协议导出功能验证
用例名称:采购协议导出功能验证
输出:{"tcdl01":"202401040918001"}
"""
# 发送请求
result
=
requests
.
post
(
url
,
json
=
request_body
,
headers
=
headers
)
# 获取接口响应时间
api_time
=
float
(
result
.
elapsed
.
total_seconds
())
# 获取文件
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"
# 获取到导出文件存入cmdc_files文件中
with
open
(
file_path
,
'wb'
)
as
f
:
f
.
write
(
result
.
content
)
# 获取导出文件中采购协议
excel
=
HandleExcel
(
file_path
,
"Sheet1"
)
# print(excel.read_data())
result
=
{
"tcdl01"
:
excel
.
read_data
()[
0
].
get
(
"采购协议"
)}
# 将接口响应时间添加至结果中
result
[
"api_time"
]
=
api_time
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict6"
)
# print(check_dict)
# 断言实际结果中是否包含预期结果的内容
commonFuc
().
check_result
(
check_dict
,
result
)
air_case/cmdc_32st/采购协议批量导入功能验证.air/采购协议批量导入功能验证.py
0 → 100644
View file @
2b6d8c1c
# -*- encoding=utf8 -*-
__author__
=
"liguangyu"
"""
case_tag:cmdc_api,cmdc采购协议批量导入功能验证,32,32-2,sit,be
主数据平台:后台运营系统采购协议批量导入接口
"""
from
common.common_func
import
commonFuc
from
air_case.cmdc_login.后台管理系统登录.后台管理系统登录
import
CmdcDoLogin
import
requests
import
json
import
os
module
=
"cmdc_32st"
# 第一步登录后台运营系统获取token
username
=
commonFuc
().
get_business_data
(
module
,
"username1_be"
)
password
=
commonFuc
().
get_business_data
(
module
,
"password1_be"
)
# 获取登录后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
,
"url2"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload2"
)
# 获取文件
file
=
open
(
file_path
,
"rb"
)
files
=
{
"file"
:
file
}
"""
场景: 采购协议批量导入功能验证
用例名称:采购协议批量导入功能验证
输出:{"tcdl01":"202401040918001"}
"""
# 发送请求
result
=
requests
.
post
(
url
,
files
=
files
,
headers
=
headers
)
# 获取接口响应时间
api_time
=
float
(
result
.
elapsed
.
total_seconds
())
# 获取导入成功后采购协议号
result
=
json
.
loads
(
result
.
content
)
result
=
{
"tcdl01"
:
result
[
"data"
][
0
][
"tcdl01"
]}
# 将接口响应时间添加至result
result
[
"api_time"
]
=
api_time
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict2"
)
# print(check_dict)
# 断言实际结果中是否包含预期结果的内容
commonFuc
().
check_result
(
check_dict
,
result
)
air_case/cmdc_32st/重复数据导入校验验证_超发配置导入.air/重复数据导入校验验证_超发配置导入.py
0 → 100644
View file @
2b6d8c1c
# -*- encoding=utf8 -*-
__author__
=
"liguangyu"
"""
case_tag:cmdc_api,cmdc重复数据导入校验验证_超发配置导入,32,32-12,sit,be
主数据平台:后台运营系统超发配置导入接口
"""
from
common.common_func
import
commonFuc
from
air_case.cmdc_login.后台管理系统登录.后台管理系统登录
import
CmdcDoLogin
from
common.db.db
import
mySql
import
random
import
requests
import
json
import
os
module
=
"cmdc_32st"
# 第一步登录后台运营系统获取token
username
=
commonFuc
().
get_business_data
(
module
,
"username1_be"
)
password
=
commonFuc
().
get_business_data
(
module
,
"password1_be"
)
# 获取登录后Cmdc_access_token
cmdc_access_token
=
CmdcDoLogin
(
username
,
password
).
get_token
()
headers
=
commonFuc
().
get_business_data
(
module
,
"json_headers_file"
,
cmdc_access_token
)
# 第二步获取商品信息
url
=
commonFuc
().
get_api_url
()
+
commonFuc
().
get_business_data
(
module
,
"url10_1"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload10_1"
)
# 发送请求
result
=
requests
.
post
(
url
,
json
=
request_body
,
headers
=
headers
)
result
=
json
.
loads
(
result
.
content
)
# 生成随机数
product_random
=
random
.
randint
(
0
,
len
(
result
[
"data"
][
"list"
])
-
1
)
# 获取商品信息
productCode
=
result
[
"data"
][
"list"
][
product_random
][
"productCode"
]
productName
=
result
[
"data"
][
"list"
][
product_random
][
"productName"
]
specifications
=
result
[
"data"
][
"list"
][
product_random
][
"specifications"
]
num
=
random
.
randint
(
1
,
5
)
# print(productCode)
# 获取文件
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
,
"url12"
)
request_body
=
commonFuc
().
get_business_data
(
module
,
"payload12"
)
# 获取文件
file
=
open
(
file_path
,
"rb"
)
files
=
{
"file"
:
file
}
"""
场景: 重复数据导入校验验证_超发配置导入
用例名称:重复数据导入校验验证_超发配置导入
输出:{"status":3}
"""
# 发送请求
result
=
requests
.
post
(
url
,
files
=
files
,
headers
=
headers
,
data
=
request_body
)
# 获取接口响应时间
api_time
=
float
(
result
.
elapsed
.
total_seconds
())
# 数据库操作
mysql_handle
=
mySql
()
# 获取conf.ini文件中配置的数据库信息
host
,
port
,
user
,
pwd
=
mysql_handle
.
getConf
(
db
=
"cmdc_db_be"
)
# 查询数据库导入状态
sql
=
"SELECT t.status FROM `cmdc-order`.tc_excel_log t "
\
"WHERE sheetName = 'supernova-D' and companyCode =00102 ORDER BY createTime desc"
status
=
mysql_handle
.
selectSql
(
host
,
port
,
user
,
pwd
,
"cmdc-order"
,
sql
)[
0
][
0
]
result
=
{
"status"
:
status
}
# 将接口响应时间添加至result
result
[
"api_time"
]
=
api_time
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict12"
)
# print(check_dict)
# 断言实际结果中是否包含预期结果的内容
commonFuc
().
check_result
(
check_dict
,
result
)
air_case/cmdc_buyercar_list/新增不存在商品至购物车列表.air/新增不存在商品至购物车列表.py
View file @
2b6d8c1c
...
...
@@ -35,7 +35,10 @@ request_body = commonFuc().get_business_data(module, "payload4")
# 发送请求
result
=
requests
.
post
(
url
,
json
=
request_body
,
headers
=
headers
)
# 获取接口响应时间
api_time
=
result
.
elapsed
.
total_seconds
()
result
=
json
.
loads
(
result
.
content
)
result
[
"api_time"
]
=
api_time
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict4"
)
# 断言实际结果中是否包含预期结果的内容
...
...
air_case/cmdc_buyercar_list/新增商品至购物车_商品超数量验证.air/新增商品至购物车_商品超数量验证.py
View file @
2b6d8c1c
...
...
@@ -35,7 +35,10 @@ request_body = commonFuc().get_business_data(module, "payload36")
# 发送请求
result
=
requests
.
post
(
url
,
json
=
request_body
,
headers
=
headers
)
# 获取接口响应时间
api_time
=
result
.
elapsed
.
total_seconds
()
result
=
json
.
loads
(
result
.
content
)
result
[
"api_time"
]
=
api_time
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict36"
)
# 断言实际结果中是否包含预期结果的内容
...
...
air_case/cmdc_buyercar_list/新增商品至购物车_必填字段校验.air/新增商品至购物车_必填字段校验.py
View file @
2b6d8c1c
...
...
@@ -35,7 +35,10 @@ request_body = commonFuc().get_business_data(module, "payload20")
# 发送请求
result
=
requests
.
post
(
url
,
json
=
request_body
,
headers
=
headers
)
# 获取接口响应时间
api_time
=
result
.
elapsed
.
total_seconds
()
result
=
json
.
loads
(
result
.
content
)
result
[
"api_time"
]
=
api_time
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict20"
)
# 断言实际结果中是否包含预期结果的内容
...
...
air_case/cmdc_buyercar_list/新增商品至购物车_站点不存在或者站点已下架.air/新增商品至购物车_站点不存在或者站点已下架.py
View file @
2b6d8c1c
...
...
@@ -35,7 +35,10 @@ request_body = commonFuc().get_business_data(module, "payload35")
# 发送请求
result
=
requests
.
post
(
url
,
json
=
request_body
,
headers
=
headers
)
# 获取接口响应时间
api_time
=
result
.
elapsed
.
total_seconds
()
result
=
json
.
loads
(
result
.
content
)
result
[
"api_time"
]
=
api_time
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict35"
)
# 断言实际结果中是否包含预期结果的内容
...
...
air_case/cmdc_buyercar_list/新增已失效商品至购物车列表.air/新增已失效商品至购物车列表.py
View file @
2b6d8c1c
...
...
@@ -55,7 +55,10 @@ request_body = commonFuc().get_business_data(module, "payload5", product_id, pri
# 发送请求
result
=
requests
.
post
(
url1
,
json
=
request_body
,
headers
=
headers
)
# 获取接口响应时间
api_time
=
result
.
elapsed
.
total_seconds
()
result
=
json
.
loads
(
result
.
content
)
result
[
"api_time"
]
=
api_time
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict5"
)
# 断言实际结果中是否包含预期结果的内容
...
...
air_case/cmdc_buyercar_list/新增已控销商品至购物车列表.air/新增已控销商品至购物车列表.py
View file @
2b6d8c1c
...
...
@@ -55,7 +55,10 @@ if result["data"]["list"][0]["isControlSales"] == 1:
# 发送请求
result1
=
requests
.
post
(
url1
,
json
=
request_body
,
headers
=
headers
)
# 获取接口响应时间
api_time
=
result1
.
elapsed
.
total_seconds
()
result1
=
json
.
loads
(
result1
.
content
)
result1
[
"api_time"
]
=
api_time
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict7"
)
print
(
check_dict
)
...
...
air_case/cmdc_buyercar_list/新增赠品_控销_商品至购物车.air/新增赠品_控销_商品至购物车.py
View file @
2b6d8c1c
...
...
@@ -55,7 +55,10 @@ request_body1 = commonFuc().get_business_data(module, "payload11", product_id, p
"""
# 发送请求
result1
=
requests
.
post
(
url1
,
json
=
request_body1
,
headers
=
headers1
)
# 获取接口响应时间
api_time
=
result1
.
elapsed
.
total_seconds
()
result1
=
json
.
loads
(
result1
.
content
)
result1
[
"api_time"
]
=
api_time
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict11"
)
# 断言实际结果中是否包含预期结果的内容
...
...
air_case/cmdc_buyercar_list/新增赠品至购物车.air/新增赠品至购物车.py
View file @
2b6d8c1c
...
...
@@ -52,7 +52,10 @@ request_body1 = commonFuc().get_business_data(module, "payload8", product_id, pr
"""
# 发送请求
result1
=
requests
.
post
(
url1
,
json
=
request_body1
,
headers
=
headers1
)
# 获取接口响应时间
api_time
=
result1
.
elapsed
.
total_seconds
()
result1
=
json
.
loads
(
result1
.
content
)
result1
[
"api_time"
]
=
api_time
# 获取预期结果
check_dict
=
commonFuc
().
get_business_data
(
module
,
"checkDict8"
)
# 断言实际结果中是否包含预期结果的内容
...
...
Prev
1
2
3
4
5
6
7
…
37
Next
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