Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
I
InterfaceAutoTest
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
TestAuto
InterfaceAutoTest
Commits
5ae18cf3
Commit
5ae18cf3
authored
May 20, 2021
by
fanxun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
出行服务实现完成
parent
856a05f5
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
129 additions
and
100 deletions
+129
-100
test_case/bmc/test_vehicle_steward.py
+129
-100
test_case_data/bmc/bmc_vehicle_steward_29_39_20210513.xlsx
+0
-0
No files found.
test_case/bmc/test_vehicle_steward.py
View file @
5ae18cf3
...
@@ -11,12 +11,14 @@ from common.db import MYSQL
...
@@ -11,12 +11,14 @@ from common.db import MYSQL
@allure.feature
(
"出行服务"
)
@allure.feature
(
"出行服务"
)
class
TestVehicleSteward
():
class
TestVehicleSteward
():
# def setUp_class(self):
def
setup_class
(
self
):
# """链接数据库"""
# def test_setup_class(self):
# # 出行服务
"""链接数据库"""
# ms = MYSQL('10.197.236.190', 3306, 'root', '123456', 'edl_public')
# 出行服务
# # 获取账号的userId -- 目前已经在excel中写死为 17822000000 账号的userId
self
.
ms
=
MYSQL
(
'10.197.236.190'
,
3306
,
'root'
,
'123456'
,
'edl_public'
)
# self.resList = ms.ExecuQuery('SELECT * FROM edl_public.user where phone=17822000000;')
# 获取账号的userId -- 目前已经在excel中写死为 17822000000 账号的userId
resList
=
self
.
ms
.
ExecuQuery
(
'SELECT * FROM edl_public.user where phone=17822000000;'
)
self
.
user_id
=
resList
[
0
][
'id'
]
workBook
=
xlrd
.
open_workbook
(
f
'{BMCConfig.root_path}/test_case_data/bmc/bmc_vehicle_steward_29_39_20210513.xlsx'
)
workBook
=
xlrd
.
open_workbook
(
f
'{BMCConfig.root_path}/test_case_data/bmc/bmc_vehicle_steward_29_39_20210513.xlsx'
)
...
@@ -34,13 +36,22 @@ class TestVehicleSteward():
...
@@ -34,13 +36,22 @@ class TestVehicleSteward():
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
return
res
return
res
@pytest.fixture
()
def
test_pre_custody
(
self
):
"""开启授权"""
method
=
'post'
req_data
=
{
"plateType"
:
"02"
,
"plateNum"
:
"贵ARR008"
}
headers
=
None
url
=
f
"{BMCConfig().host}/vehicle/steward/authorization/agree"
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
@allure.story
(
"获取用户授权"
)
@allure.story
(
"获取用户授权"
)
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/75421"
)
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/75421"
)
@allure.description
(
"/vehicle/steward/authorization/authorizationOfUse"
)
@allure.description
(
"/vehicle/steward/authorization/authorizationOfUse"
)
@allure.title
(
"{inData[testPoint]}"
)
@allure.title
(
"{inData[testPoint]}"
)
@pytest.mark.
usefixtures
(
'test_pre_info
'
)
@pytest.mark.
run
(
'first
'
)
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'出行服务'
,
'authorizationOfUsevehiclesteward'
))
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'出行服务'
,
'authorizationOfUsevehiclesteward'
))
def
test_authorization_of_use_vehicle_steward
(
self
,
inData
,
test_pre_info
):
def
test_authorization_of_use_vehicle_steward
(
self
,
inData
,
test_pre_info
,
test_pre_custody
):
url
=
f
"{BMCConfig().host}{inData['url']}"
url
=
f
"{BMCConfig().host}{inData['url']}"
method
=
inData
[
'method'
]
method
=
inData
[
'method'
]
req_data
=
inData
[
'reqData'
]
req_data
=
inData
[
'reqData'
]
...
@@ -50,33 +61,34 @@ class TestVehicleSteward():
...
@@ -50,33 +61,34 @@ class TestVehicleSteward():
is_auth
=
test_pre_info
[
'data'
][
'auth'
]
is_auth
=
test_pre_info
[
'data'
][
'auth'
]
except
Exception
as
e
:
except
Exception
as
e
:
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
print
(
res
)
setattr
(
TestVehicleSteward
,
'gasLog'
,
res
[
'data'
][
'gasLog'
])
setattr
(
TestVehicleSteward
,
'gasLog'
,
res
[
'data'
][
'gasLog'
])
setattr
(
TestVehicleSteward
,
'trafficFine'
,
res
[
'data'
][
'trafficFine'
])
setattr
(
TestVehicleSteward
,
'trafficFine'
,
res
[
'data'
][
'trafficFine'
])
assert
res
[
'code'
]
==
expectData
[
'code'
]
assert
res
[
'code'
]
==
expectData
[
'code'
]
else
:
else
:
pytest
.
skip
(
msg
=
"未开启授权,跳过此用例"
)
# 开启授权
test_pre_custody
@allure.story
(
"更改自动记账"
)
@allure.story
(
"更改自动记账"
)
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/75191"
)
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/75191"
)
@allure.description
(
"/vehicle/steward/authorization/update"
)
@allure.description
(
"/vehicle/steward/authorization/update"
)
@allure.title
(
"{inData[testPoint]}"
)
@allure.title
(
"{inData[testPoint]}"
)
@pytest.mark.usefixtures
(
'test_pre_info'
)
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'出行服务'
,
'gasvehiclesteward'
))
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'出行服务'
,
'gasvehiclesteward'
))
def
test_
my_integral
(
self
,
inData
,
test_pre_info
):
def
test_
gas_vehicle_steward
(
self
,
inData
,
test_pre_info
):
url
=
f
"{BMCConfig().host}{inData['url']}"
url
=
f
"{BMCConfig().host}{inData['url']}"
method
=
inData
[
'method'
]
method
=
inData
[
'method'
]
req_data
=
inData
[
'reqData'
]
req_data
=
inData
[
'reqData'
]
expectData
=
inData
[
'expectData'
]
expectData
=
inData
[
'expectData'
]
headers
=
inData
[
'headers'
]
headers
=
inData
[
'headers'
]
# case_num = inData['caseNum']
# 查询账号对应的id
resList
=
self
.
ms
.
ExecuQuery
(
f
'SELECT * FROM edl_public.vehicle_steward_authorization where user_id={self.user_id};'
)
id
=
resList
[
0
][
'id'
]
req_data
[
'id'
]
=
id
try
:
try
:
is_auth
=
test_pre_info
[
'data'
][
'auth'
]
is_auth
=
test_pre_info
[
'data'
][
'auth'
]
except
Exception
as
e
:
except
Exception
as
e
:
if
not
self
.
gasLog
:
if
not
self
.
gasLog
:
req_data
[
'gasLog'
]
=
True
req_data
[
'gasLog'
]
=
True
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
print
(
res
)
elif
self
.
gasLog
:
elif
self
.
gasLog
:
req_data
[
'gasLog'
]
=
False
req_data
[
'gasLog'
]
=
False
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
...
@@ -84,94 +96,111 @@ class TestVehicleSteward():
...
@@ -84,94 +96,111 @@ class TestVehicleSteward():
else
:
else
:
pytest
.
skip
(
msg
=
"未开启授权,跳过此用例"
)
pytest
.
skip
(
msg
=
"未开启授权,跳过此用例"
)
@allure.story
(
"车辆列表"
)
@allure.link
(
""
)
@allure.description
(
"/pvtapi/vehicle/manage/list"
)
@allure.title
(
"{inData[testPoint]}"
)
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'出行服务'
,
'listvehiclesteward'
))
def
test_list_vehicle_steward
(
self
,
inData
):
url
=
f
"{BMCConfig().host}{inData['url']}"
method
=
inData
[
'method'
]
req_data
=
inData
[
'reqData'
]
expectData
=
inData
[
'expectData'
]
headers
=
inData
[
'headers'
]
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
assert
res
[
'code'
]
==
expectData
[
'code'
]
@allure.story
(
"更改自动记账"
)
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/75191"
)
@allure.description
(
"/vehicle/steward/authorization/update"
)
@allure.title
(
"{inData[testPoint]}"
)
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'出行服务'
,
'trafficFinevehiclesteward'
))
def
test_traffic_fine_vehicle_steward
(
self
,
inData
,
test_pre_info
):
url
=
f
"{BMCConfig().host}{inData['url']}"
method
=
inData
[
'method'
]
req_data
=
inData
[
'reqData'
]
expectData
=
inData
[
'expectData'
]
headers
=
inData
[
'headers'
]
# 查询账号对应的id
resList
=
self
.
ms
.
ExecuQuery
(
f
'SELECT * FROM edl_public.vehicle_steward_authorization where user_id={self.user_id};'
)
id
=
resList
[
0
][
'id'
]
req_data
[
'id'
]
=
id
try
:
is_auth
=
test_pre_info
[
'data'
][
'auth'
]
except
Exception
as
e
:
if
not
self
.
gasLog
:
req_data
[
'trafficFine'
]
=
True
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
elif
self
.
gasLog
:
req_data
[
'trafficFine'
]
=
False
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
assert
res
[
'code'
]
==
expectData
[
'code'
]
else
:
pytest
.
skip
(
msg
=
"未开启授权,跳过此用例"
)
@allure.story
(
"自动记账"
)
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/74446"
)
@allure.description
(
"/vehicle/steward/accounts/autoSyncAccounts"
)
@allure.title
(
"{inData[testPoint]}"
)
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'出行服务'
,
'autoSyncAccountsvehiclesteward'
))
def
test_auto_sync_count_vehicle_steward
(
self
,
inData
,
test_pre_info
):
url
=
f
"{BMCConfig().host}{inData['url']}"
method
=
inData
[
'method'
]
req_data
=
inData
[
'reqData'
]
expectData
=
inData
[
'expectData'
]
headers
=
inData
[
'headers'
]
try
:
is_auth
=
test_pre_info
[
'data'
][
'auth'
]
except
Exception
as
e
:
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
assert
res
[
'code'
]
==
expectData
[
'code'
]
else
:
pytest
.
skip
(
msg
=
"未开启授权,跳过此用例"
)
@allure.story
(
"更新获取新费用"
)
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/75456"
)
@allure.description
(
"/vehicle/steward/index/updateLastTime"
)
@allure.title
(
"{inData[testPoint]}"
)
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'出行服务'
,
'updateLastTimevehiclesteward'
))
def
test_update_last_time_vehicle_steward
(
self
,
inData
):
url
=
f
"{BMCConfig().host}{inData['url']}"
method
=
inData
[
'method'
]
req_data
=
inData
[
'reqData'
]
expectData
=
inData
[
'expectData'
]
headers
=
inData
[
'headers'
]
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
assert
res
[
'code'
]
==
expectData
[
'code'
]
@allure.story
(
"自动记账授权"
)
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/74441"
)
@allure.description
(
""
)
@allure.title
(
"{inData[testPoint]}"
)
@pytest.mark.run
(
'last'
)
@pytest.mark.flaky
(
reruns
=
2
)
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'出行服务'
,
'agreedisagreevehiclesteward'
))
def
test_custody_vehicle_steward
(
self
,
inData
,
test_pre_info
):
method
=
inData
[
'method'
]
req_data
=
inData
[
'reqData'
]
expectData
=
inData
[
'expectData'
]
headers
=
inData
[
'headers'
]
try
:
is_auth
=
test_pre_info
[
'data'
][
'auth'
]
automatic
=
test_pre_info
[
'data'
][
'automatic'
]
if
automatic
:
url
=
f
"{BMCConfig().host}/vehicle/steward/authorization/disagree"
else
:
url
=
f
"{BMCConfig().host}/vehicle/steward/authorization/agree"
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
assert
res
[
'code'
]
==
expectData
[
'code'
]
except
Exception
as
e
:
# 清除记录 重新执行此用例
self
.
ms
.
ExecuQuery
(
f
'delete from edl_public.vehicle_steward_authorization where user_id={self.user_id};'
)
#
# @allure.story("车辆列表")
# @allure.link("")
# @allure.description("/pvtapi/vehicle/manage/list")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '出行服务', 'listvehiclesteward'))
# def test_my_integral(self, inData):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
#
# @allure.story("更改自动记账")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/75191")
# @allure.description("/vehicle/steward/authorization/update")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '出行服务', 'postvehiclesteward'))
# def test_my_integral(self, inData):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
#
# @allure.story("自动记账")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/74446")
# @allure.description("/vehicle/steward/accounts/autoSyncAccounts")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '出行服务', 'autoSyncAccountsvehiclesteward'))
# def test_my_integral(self, inData):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
#
# @allure.story("更新获取新费用")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/75456")
# @allure.description("/vehicle/steward/index/updateLastTime")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '出行服务', 'updateLastTimevehiclesteward'))
# def test_my_integral(self, inData):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
#
# @allure.story("不同意开启自动记账")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/74441")
# @allure.description("/vehicle/steward/authorization/disagree")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '出行服务', 'disagreevehiclesteward'))
# def test_my_integral(self, inData):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
#
# @allure.story("同意开启自动记账")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/74436")
# @allure.description("/vehicle/steward/authorization/agree")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '出行服务', 'agreevehiclesteward'))
# def test_my_integral(self, inData):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
pytest
.
main
([
'-s'
,
'-v'
,
'test_vehicle_steward.py'
,
pytest
.
main
([
'-s'
,
'-v'
,
'test_vehicle_steward.py'
,
r'--alluredir=D:\项目\接口自动化\InterfaceAutoTest\report'
,
'--clean-alluredir'
])
r'--alluredir=D:\项目\接口自动化\InterfaceAutoTest\report'
,
'--clean-alluredir'
])
#
#
# os.system('allure serve D:\项目\接口自动化\InterfaceAutoTest\\report')
os
.
system
(
'allure serve D:
\
项目
\
接口自动化
\
InterfaceAutoTest
\\
report'
)
\ No newline at end of file
\ No newline at end of file
test_case_data/bmc/bmc_vehicle_steward_29_39_20210513.xlsx
View file @
5ae18cf3
No preview for this file type
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a 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