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
e3d102c8
Commit
e3d102c8
authored
May 20, 2021
by
huangchengcheng
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master' into master
parents
651e52f6
b0227c68
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
758 additions
and
681 deletions
+758
-681
common/db.py
+5
-3
common/utils/getExcelData.py
+1
-1
test_case/bmc/test_credit_score.py
+350
-325
test_case/bmc/test_integral.py
+273
-252
test_case/bmc/test_vehicle_steward.py
+129
-100
test_case_data/bmc/bmc_credit_score_20210513.xlsx
+0
-0
test_case_data/bmc/bmc_integral_20210513.xlsx
+0
-0
test_case_data/bmc/bmc_vehicle_steward_29_39_20210513.xlsx
+0
-0
No files found.
common/db.py
View file @
e3d102c8
...
@@ -45,7 +45,7 @@ class MYSQL:
...
@@ -45,7 +45,7 @@ class MYSQL:
"""
"""
self
.
conn
=
pymysql
.
connect
(
host
=
self
.
host
,
port
=
self
.
port
,
user
=
self
.
user
,
self
.
conn
=
pymysql
.
connect
(
host
=
self
.
host
,
port
=
self
.
port
,
user
=
self
.
user
,
password
=
self
.
pwd
,
database
=
self
.
db
,
charset
=
"utf8"
)
password
=
self
.
pwd
,
database
=
self
.
db
,
charset
=
"utf8"
)
cur
=
self
.
conn
.
cursor
()
cur
=
self
.
conn
.
cursor
(
pymysql
.
cursors
.
DictCursor
)
return
cur
return
cur
def
ExecuQuery
(
self
,
sql
):
def
ExecuQuery
(
self
,
sql
):
...
@@ -92,6 +92,8 @@ if __name__ == '__main__':
...
@@ -92,6 +92,8 @@ if __name__ == '__main__':
# print(r)
# print(r)
# print(str(r)[-7:-1])
# print(str(r)[-7:-1])
# pass
# pass
RedisString
(
0
)
.
delete_key
(
"bmc:c1:dl_img:uid"
)
# RedisString(0).delete_key("bmc:c1:dl_img:uid")
mysql
=
MYSQL
(
host
=
"10.197.236.190"
,
port
=
3306
,
user
=
"root"
,
pwd
=
"123456"
,
db
=
"edl_private"
)
info
=
mysql
.
ExecuQuery
(
"SELECT * FROM db_tbd_base1.project;"
)
print
(
info
)
common/utils/getExcelData.py
View file @
e3d102c8
...
@@ -85,7 +85,7 @@ def get_excelData(workBook,sheetName,caseName):
...
@@ -85,7 +85,7 @@ def get_excelData(workBook,sheetName,caseName):
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
workBook
=
xlrd
.
open_workbook
(
'../../test_case_data/bmc/bmc_testcase_20210513.xlsx'
)
workBook
=
xlrd
.
open_workbook
(
'../../test_case_data/bmc/bmc_testcase_20210513.xlsx'
)
li
=
get_excelData
(
workBook
,
"账号信息基本功能"
,
"login"
)
li
=
get_excelData
(
workBook
,
"账号信息基本功能"
,
"login"
)
for
i
in
li
:
for
i
in
li
:
print
(
i
)
print
(
i
)
...
...
test_case/bmc/test_credit_score.py
View file @
e3d102c8
...
@@ -14,329 +14,355 @@ from config import BMCConfig
...
@@ -14,329 +14,355 @@ from config import BMCConfig
class
TestCreditScore
():
class
TestCreditScore
():
workBook
=
xlrd
.
open_workbook
(
f
'{BMCConfig.root_path}/test_case_data/bmc/bmc_credit_score_20210513.xlsx'
)
workBook
=
xlrd
.
open_workbook
(
f
'{BMCConfig.root_path}/test_case_data/bmc/bmc_credit_score_20210513.xlsx'
)
# @allure.story("信用分详情")
@allure.story
(
"信用分详情"
)
# @allure.link("")
@allure.link
(
""
)
# @allure.description("/credit/myCredit/V2")
@allure.description
(
"/credit/myCredit/V2"
)
# @allure.title("{inData[testPoint]}")
@allure.title
(
"{inData[testPoint]}"
)
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'Vcreditscore'))
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'Vcreditscore'
))
# def test_v_credit_score(self, inData):
def
test_v_credit_score
(
self
,
inData
):
# url = f"{BMCConfig().pvthost}{inData['url']}"
url
=
f
"{BMCConfig().pvthost}{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'
]
# 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)
assert
res
[
'code'
]
==
expectData
[
'code'
]
# assert res['code'] == expectData['code']
@allure.story
(
"分享信用分"
)
# @allure.story("分享信用分")
@allure.link
(
""
)
# @allure.link("")
@allure.description
(
"/credit/pkCredit/sharePic"
)
# @allure.description("/credit/pkCredit/sharePic")
@allure.title
(
"{inData[testPoint]}"
)
# @allure.title("{inData[testPoint]}")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'sharePiccreditscore'
))
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'sharePiccreditscore'))
def
test_share_pic_credit_score
(
self
,
inData
):
# def test_share_pic_credit_score(self, inData):
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']
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)
assert
res
[
'code'
]
==
expectData
[
'code'
]
# assert res['code'] == expectData['code']
@allure.story
(
"历史信用分"
)
# # @allure.story("历史信用分")
@allure.link
(
""
)
# # @allure.link("")
@allure.description
(
"/credit/record/list"
)
# # @allure.description("/credit/record/list")
@allure.title
(
"{inData[testPoint]}"
)
# # @allure.title("{inData[testPoint]}")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'recordlistcreditscore'
))
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'recordlistcreditscore'))
def
test_record_list_credit_score
(
self
,
inData
):
# # def test_record_list_credit_score(self, inData):
url
=
f
"{BMCConfig().pvthost}{inData['url']}"
# # url = f"{BMCConfig().pvthost}{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']
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)
assert
res
[
'code'
]
==
expectData
[
'code'
]
# # assert res['code'] == expectData['code']
#
@allure.story
(
"完善基础信息"
)
# # @allure.story("完善基础信息")
@allure.link
(
""
)
# # @allure.link("")
@allure.description
(
"/credit/base/list"
)
# # @allure.description("/credit/base/list")
@allure.title
(
"{inData[testPoint]}"
)
# # @allure.title("{inData[testPoint]}")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'baselistcreditscore'
))
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'baselistcreditscore'))
def
test_base_list_credit_score
(
self
,
inData
):
# # def test_base_list_credit_score(self, inData):
url
=
f
"{BMCConfig().pvthost}{inData['url']}"
# # url = f"{BMCConfig().pvthost}{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']
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)
assert
res
[
'code'
]
==
expectData
[
'code'
]
# # assert res['code'] == expectData['code']
#
@allure.story
(
"获取履约任务"
)
# # @allure.story("获取履约任务")
@allure.link
(
""
)
# # @allure.link("")
@allure.description
(
"/credit/explore/performance/list"
)
# # @allure.description("/credit/explore/performance/list")
@allure.title
(
"{inData[testPoint]}"
)
# # @allure.title("{inData[testPoint]}")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'performancelistcreditscore'
))
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'performancelistcreditscore'))
def
test_performance_list_credit_score
(
self
,
inData
):
# # def test_performance_list_credit_score(self, inData):
url
=
f
"{BMCConfig().pvthost}{inData['url']}"
# # url = f"{BMCConfig().pvthost}{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']
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)
assert
res
[
'code'
]
==
expectData
[
'code'
]
# # assert res['code'] == expectData['code']
#
@allure.story
(
"身份证信息"
)
# # @allure.story("身份证信息")
@allure.link
(
""
)
# # @allure.link("")
@allure.description
(
"/credit/detail/idCard"
)
# # @allure.description("/credit/detail/idCard")
@allure.title
(
"{inData[testPoint]}"
)
# # @allure.title("{inData[testPoint]}")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'idCardcreditscore'
))
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'idCardcreditscore'))
def
test_idCard_credit_score
(
self
,
inData
):
# # def test_idCard_credit_score(self, inData):
url
=
f
"{BMCConfig().pvthost}{inData['url']}"
# # url = f"{BMCConfig().pvthost}{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']
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)
assert
res
[
'code'
]
==
expectData
[
'code'
]
# # assert res['code'] == expectData['code']
#
@allure.story
(
"驾驶证信息"
)
# # @allure.story("驾驶证信息")
@allure.link
(
""
)
# # @allure.link("")
@allure.description
(
"/drivingLicense/image/status"
)
# # @allure.description("/drivingLicense/image/status")
@allure.title
(
"{inData[testPoint]}"
)
# # @allure.title("{inData[testPoint]}")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'imagestatuscreditscore'
))
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'imagestatuscreditscore'))
def
test_image_status_credit_score
(
self
,
inData
):
# # def test_image_status_credit_score(self, inData):
url
=
f
"{BMCConfig().pvthost}{inData['url']}"
# # url = f"{BMCConfig().pvthost}{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']
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)
assert
res
[
'code'
]
==
expectData
[
'code'
]
# # assert res['code'] == expectData['code']
@allure.story
(
"身份证信息正反面"
)
"""接口存在问题"""
@allure.link
(
""
)
# @allure.story("身份证信息正反面")
@allure.description
(
"/drivingLicense/image"
)
# @allure.link("")
@allure.title
(
"{inData[testPoint]}"
)
# @allure.description("/drivingLicense/image")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'imagecreditscore'
))
# @allure.title("{inData[testPoint]}")
def
test_image_credit_score
(
self
,
inData
):
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'imagecreditscore'))
url
=
f
"{BMCConfig().pvthost}{inData['url']}"
# def test_image_credit_score(self, inData):
method
=
inData
[
'method'
]
# url = f"{BMCConfig().pvthost}{inData['url']}"
req_data
=
inData
[
'reqData'
]
# method = inData['method']
expectData
=
inData
[
'expectData'
]
# req_data = inData['reqData']
headers
=
inData
[
'headers'
]
# expectData = inData['expectData']
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
# headers = inData['headers']
assert
res
[
'code'
]
==
expectData
[
'code'
]
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# print(res)
@allure.story
(
"车辆列表"
)
# assert res['code'] == expectData['code']
@allure.link
(
""
)
#
@allure.description
(
"/vehicle/manage/list"
)
# # @allure.story("车辆列表")
@allure.title
(
"{inData[testPoint]}"
)
# # @allure.link("")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'managelistcreditscore'
))
# # @allure.description("/vehicle/manage/list")
def
test_manage_list_credit_score
(
self
,
inData
):
# # @allure.title("{inData[testPoint]}")
url
=
f
"{BMCConfig().pvthost}{inData['url']}"
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'managelistcreditscore'))
method
=
inData
[
'method'
]
# # def test_manage_list_credit_score(self, inData):
req_data
=
inData
[
'reqData'
]
# # url = f"{BMCConfig().pvthost}{inData['url']}"
expectData
=
inData
[
'expectData'
]
# # method = inData['method']
headers
=
inData
[
'headers'
]
# # req_data = inData['reqData']
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
# # expectData = inData['expectData']
assert
res
[
'code'
]
==
expectData
[
'code'
]
# # headers = inData['headers']
# # res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
@allure.story
(
"我的学历信息"
)
# # assert res['code'] == expectData['code']
@allure.link
(
""
)
@allure.description
(
"/credit/education/getEducationList"
)
@allure.title
(
"{inData[testPoint]}"
)
# @allure.story("我的学历信息")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'getEducationListcreditscore'
))
# @allure.link("")
def
test_get_education_list_credit_score
(
self
,
inData
):
# @allure.description("/credit/education/getEducationList")
url
=
f
"{BMCConfig().host}{inData['url']}"
# @allure.title("{inData[testPoint]}")
method
=
inData
[
'method'
]
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'getEducationListcreditscore'))
req_data
=
inData
[
'reqData'
]
# def test_get_education_list_credit_score(self, inData):
expectData
=
inData
[
'expectData'
]
# url = f"{BMCConfig().host}{inData['url']}"
headers
=
inData
[
'headers'
]
# method = inData['method']
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
# req_data = inData['reqData']
assert
res
[
'code'
]
==
expectData
[
'code'
]
# expectData = inData['expectData']
# headers = inData['headers']
@allure.story
(
"我的单位信息"
)
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
@allure.link
(
""
)
# assert res['code'] == expectData['code']
@allure.description
(
"/credit/work/getWorkList"
)
@allure.title
(
"{inData[testPoint]}"
)
# @allure.story("我的单位信息")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'getWorkListcreditscore'
))
# @allure.link("")
def
test_get_work_list_credit_score
(
self
,
inData
):
# @allure.description("/credit/work/getWorkList")
url
=
f
"{BMCConfig().host}{inData['url']}"
# @allure.title("{inData[testPoint]}")
method
=
inData
[
'method'
]
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'getWorkListcreditscore'))
req_data
=
inData
[
'reqData'
]
# def test_get_work_list_credit_score(self, inData):
expectData
=
inData
[
'expectData'
]
# url = f"{BMCConfig().host}{inData['url']}"
headers
=
inData
[
'headers'
]
# method = inData['method']
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
# req_data = inData['reqData']
assert
res
[
'code'
]
==
expectData
[
'code'
]
# expectData = inData['expectData']
# headers = inData['headers']
@allure.story
(
"我的车辆信息"
)
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
@allure.link
(
""
)
# assert res['code'] == expectData['code']
@allure.description
(
"/vehicle/selection/list"
)
#
@allure.title
(
"{inData[testPoint]}"
)
# # @allure.story("我的车辆信息")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'selectionlistcreditscore'
))
# # @allure.link("")
def
test_selection_list_credit_score
(
self
,
inData
):
# # @allure.description("/vehicle/selection/list")
url
=
f
"{BMCConfig().pvthost}{inData['url']}"
# # @allure.title("{inData[testPoint]}")
method
=
inData
[
'method'
]
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'selectionlistcreditscore'))
req_data
=
inData
[
'reqData'
]
# # def test_selection_list_credit_score(self, inData):
expectData
=
inData
[
'expectData'
]
# # url = f"{BMCConfig().pvthost}{inData['url']}"
headers
=
inData
[
'headers'
]
# # method = inData['method']
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
# # req_data = inData['reqData']
assert
res
[
'code'
]
==
expectData
[
'code'
]
# # expectData = inData['expectData']
# # headers = inData['headers']
@allure.story
(
"学历认证地区选择"
)
# # res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
@allure.link
(
""
)
# # assert res['code'] == expectData['code']
@allure.description
(
"/credit/education/provinces"
)
#
@allure.title
(
"{inData[testPoint]}"
)
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'provincescreditscore'
))
# @allure.story("学历认证地区选择")
def
test_provinces_credit_score
(
self
,
inData
):
# @allure.link("")
url
=
f
"{BMCConfig().host}{inData['url']}"
# @allure.description("/credit/education/provinces")
method
=
inData
[
'method'
]
# @allure.title("{inData[testPoint]}")
req_data
=
inData
[
'reqData'
]
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'provincescreditscore'))
expectData
=
inData
[
'expectData'
]
# def test_provinces_credit_score(self, inData):
headers
=
inData
[
'headers'
]
# url = f"{BMCConfig().host}{inData['url']}"
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
# method = inData['method']
assert
res
[
'code'
]
==
expectData
[
'code'
]
# req_data = inData['reqData']
# expectData = inData['expectData']
@allure.story
(
"学历单位选择"
)
# headers = inData['headers']
@allure.link
(
""
)
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
@allure.description
(
"/sys/dict/list"
)
# assert res['code'] == expectData['code']
@allure.title
(
"{inData[testPoint]}"
)
#
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'dictlistcreditscore'
))
# # @allure.story("学历单位选择")
def
test_dict_list_credit_score
(
self
,
inData
):
# # @allure.link("")
url
=
f
"{BMCConfig().pvthost}{inData['url']}"
# # @allure.description("/sys/dict/list")
method
=
inData
[
'method'
]
# # @allure.title("{inData[testPoint]}")
req_data
=
inData
[
'reqData'
]
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'dictlistcreditscore'))
expectData
=
inData
[
'expectData'
]
# # def test_dict_list_credit_score(self, inData):
headers
=
inData
[
'headers'
]
# # url = f"{BMCConfig().pvthost}{inData['url']}"
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
# # method = inData['method']
assert
res
[
'code'
]
==
expectData
[
'code'
]
# # req_data = inData['reqData']
# # expectData = inData['expectData']
@pytest.fixture
()
# # headers = inData['headers']
def
test_get_education
(
self
):
# # res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
"""获取学历信息"""
# # assert res['code'] == expectData['code']
url
=
f
"{BMCConfig().host}/credit/education/getEducationList"
#
method
=
'get'
# # 有问题 无法重复提交学历认证
req_data
=
None
# @allure.story("学历认证")
headers
=
None
# @allure.link("")
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
# @allure.description("/credit/education/addEducation")
return
res
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'addEducationcreditscore'))
@allure.story
(
"学历认证"
)
# def test_add_education_credit_score(self, inData):
@allure.link
(
""
)
# url = f"{BMCConfig().host}{inData['url']}"
@allure.description
(
"/credit/education/addEducation"
)
# method = inData['method']
@allure.title
(
"{inData[testPoint]}"
)
# req_data = inData['reqData']
@pytest.mark.usefixtures
(
'test_get_education'
)
# expectData = inData['expectData']
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'addEducationcreditscore'
))
# headers = inData['headers']
def
test_add_education_credit_score
(
self
,
inData
,
test_get_education
):
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
url
=
f
"{BMCConfig().host}{inData['url']}"
# print(res)
method
=
inData
[
'method'
]
# assert res['code'] == expectData['code']
req_data
=
inData
[
'reqData'
]
#
expectData
=
inData
[
'expectData'
]
# 有问题 数据不存在 先查询学历 然后再调用此接口
headers
=
inData
[
'headers'
]
# @allure.story("删除学历")
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
# @allure.link("")
education_list
=
test_get_education
[
'data'
][
'list'
]
# @allure.description("/credit/education/deleteEducation")
for
item
in
education_list
:
# @allure.title("{inData[testPoint]}")
if
item
[
'school'
]
==
req_data
[
'school'
]:
# 根据学校来判断是否相同学历
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'deleteEducationcreditscore'))
expectData
[
'code'
]
=
1006
# def test_delete_education_credit_score(self, inData):
else
:
# url = f"{BMCConfig().host}{inData['url']}"
expectData
[
'code'
]
=
1000
# method = inData['method']
assert
res
[
'code'
]
==
expectData
[
'code'
]
# req_data = inData['reqData']
# expectData = inData['expectData']
@allure.story
(
"删除学历"
)
# headers = inData['headers']
@allure.link
(
""
)
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
@allure.description
(
"/credit/education/deleteEducation"
)
# print(res)
@allure.title
(
"{inData[testPoint]}"
)
# assert res['code'] == expectData['code']
@pytest.mark.usefixtures
(
'test_get_education'
)
#
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'deleteEducationcreditscore'
))
# # 有问题 数据重复 无法填写相同岗位信息
def
test_delete_education_credit_score
(
self
,
inData
,
test_get_education
):
# @allure.story("单位信息")
education_list
=
test_get_education
[
'data'
][
'list'
]
# @allure.link("")
url
=
f
"{BMCConfig().host}{inData['url']}"
# @allure.description("/credit/work/addCompany")
method
=
inData
[
'method'
]
# @allure.title("{inData[testPoint]}")
req_data
=
inData
[
'reqData'
]
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'addCompanycreditscore'))
expectData
=
inData
[
'expectData'
]
# def test_add_company_credit_score(self, inData):
headers
=
inData
[
'headers'
]
# url = f"{BMCConfig().host}{inData['url']}"
req_data
[
'id'
]
=
education_list
[
0
][
'id'
]
# method = inData['method']
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
# req_data = inData['reqData']
assert
res
[
'code'
]
==
expectData
[
'code'
]
# expectData = inData['expectData']
# headers = inData['headers']
@allure.story
(
"新增单位"
)
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
@allure.link
(
""
)
# print(res)
@allure.description
(
"/credit/work/addCompany"
)
# assert res['code'] == expectData['code']
@allure.title
(
"{inData[testPoint]}"
)
#
@pytest.mark.usefixtures
(
'test_pre_work_info'
)
# # 有问题 接口有问题
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'addCompanycreditscore'
))
# @allure.story("删除单位信息")
def
test_add_company_credit_score
(
self
,
inData
,
test_pre_work_info
):
# @allure.link("")
url
=
f
"{BMCConfig().host}{inData['url']}"
# @allure.description("/credit/work/deleteWork")
method
=
inData
[
'method'
]
# @allure.title("{inData[testPoint]}")
req_data
=
inData
[
'reqData'
]
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'deleteWorkcreditscore'))
company_name
=
req_data
[
'companyName'
]
# def test_delete_work_credit_score(self, inData):
expectData
=
inData
[
'expectData'
]
# url = f"{BMCConfig().host}{inData['url']}"
headers
=
inData
[
'headers'
]
# method = inData['method']
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
# req_data = inData['reqData']
work_list
=
test_pre_work_info
[
'data'
][
'list'
]
# expectData = inData['expectData']
for
work
in
work_list
:
# headers = inData['headers']
if
company_name
==
work
[
'companyName'
]:
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
expectData
[
'code'
]
=
1006
# print(res)
else
:
# assert res['code'] == expectData['code']
expectData
[
'code'
]
=
1000
assert
res
[
'code'
]
==
expectData
[
'code'
]
# # @allure.story("驾驶证年审")
# # @allure.link("")
@pytest.fixture
()
# # @allure.description("/credit/explore/performance/wait/dl/examine")
def
test_pre_work_info
(
self
):
# # @allure.title("{inData[testPoint]}")
"""获取单位信息套件"""
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'examinecreditscore'))
url
=
f
"{BMCConfig().host}/credit/work/getWorkList"
# # def test_examine_credit_score(self, inData):
method
=
'get'
# # url = f"{BMCConfig().pvthost}{inData['url']}"
req_data
=
None
# # method = inData['method']
headers
=
None
# # req_data = inData['reqData']
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
# # expectData = inData['expectData']
return
res
# # headers = inData['headers']
# # res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
@allure.story
(
"删除单位信息"
)
# # assert res['code'] == expectData['code']
@allure.link
(
""
)
#
@allure.description
(
"/credit/work/deleteWork"
)
# # @allure.story("更换驾驶证本人照片")
@allure.title
(
"{inData[testPoint]}"
)
# # @allure.link("")
@pytest.mark.usefixtures
(
'test_pre_work_info'
)
# # @allure.description("/drivingLicense/image/text")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'deleteWorkcreditscore'
))
# # @allure.title("{inData[testPoint]}")
def
test_delete_work_credit_score
(
self
,
inData
,
test_pre_work_info
):
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'imagetextcreditscore'))
work_id
=
test_pre_work_info
[
'data'
][
'list'
][
0
][
'id'
]
# # def test_image_text_credit_score(self, inData):
url
=
f
"{BMCConfig().host}{inData['url']}"
# # url = f"{BMCConfig().pvthost}{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']
req_data
[
'id'
]
=
work_id
# # 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
)
# # assert res['code'] == expectData['code']
assert
res
[
'code'
]
==
expectData
[
'code'
]
#
# # @allure.story("期满换证信息")
@allure.story
(
"驾驶证年审"
)
# # @allure.link("")
@allure.link
(
""
)
# # @allure.description("/credit/explore/performance/wait/dl/expire")
@allure.description
(
"/credit/explore/performance/wait/dl/examine"
)
# # @allure.title("{inData[testPoint]}")
@allure.title
(
"{inData[testPoint]}"
)
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'expirecreditscore'))
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'examinecreditscore'
))
# # def test_expire_credit_score(self, inData):
def
test_examine_credit_score
(
self
,
inData
):
# # url = f"{BMCConfig().pvthost}{inData['url']}"
url
=
f
"{BMCConfig().pvthost}{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'
]
# # 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
)
# # assert res['code'] == expectData['code']
assert
res
[
'code'
]
==
expectData
[
'code'
]
# @allure.story("车辆年检信息")
@allure.story
(
"更换驾驶证本人照片"
)
# @allure.link("")
@allure.link
(
""
)
# @allure.description("/vehicle/selection/list")
@allure.description
(
"/drivingLicense/image/text"
)
# @allure.title("{inData[testPoint]}")
@allure.title
(
"{inData[testPoint]}"
)
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'vehiclelistcreditscore'))
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'imagetextcreditscore'
))
# def test_vehicle_list_credit_score(self, inData):
def
test_image_text_credit_score
(
self
,
inData
):
# url = f"{BMCConfig().pvthost}{inData['url']}"
url
=
f
"{BMCConfig().pvthost}{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'
]
# 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)
assert
res
[
'code'
]
==
expectData
[
'code'
]
# assert res['code'] == expectData['code']
#
@allure.story
(
"期满换证信息"
)
# 有问题
@allure.link
(
""
)
@allure.description
(
"/credit/explore/performance/wait/dl/expire"
)
@allure.title
(
"{inData[testPoint]}"
)
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'expirecreditscore'
))
def
test_expire_credit_score
(
self
,
inData
):
url
=
f
"{BMCConfig().pvthost}{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
(
""
)
@allure.description
(
"/vehicle/selection/list"
)
@allure.title
(
"{inData[testPoint]}"
)
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'信用分'
,
'vehiclelistcreditscore'
))
def
test_vehicle_list_credit_score
(
self
,
inData
):
url
=
f
"{BMCConfig().pvthost}{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.story
(
"添加车辆失败"
)
@allure.link
(
""
)
@allure.link
(
""
)
@allure.description
(
"/vehicle/vCode/detail"
)
@allure.description
(
"/vehicle/vCode/detail"
)
...
@@ -349,7 +375,6 @@ class TestCreditScore():
...
@@ -349,7 +375,6 @@ class TestCreditScore():
expectData
=
inData
[
'expectData'
]
expectData
=
inData
[
'expectData'
]
headers
=
inData
[
'headers'
]
headers
=
inData
[
'headers'
]
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
)
assert
res
[
'code'
]
==
expectData
[
'code'
]
assert
res
[
'code'
]
==
expectData
[
'code'
]
...
@@ -357,5 +382,5 @@ if __name__ == '__main__':
...
@@ -357,5 +382,5 @@ if __name__ == '__main__':
pytest
.
main
([
'-s'
,
'-v'
,
'test_credit_score.py'
,
pytest
.
main
([
'-s'
,
'-v'
,
'test_credit_score.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'
)
test_case/bmc/test_integral.py
View file @
e3d102c8
...
@@ -12,280 +12,301 @@ from config import BMCConfig
...
@@ -12,280 +12,301 @@ from config import BMCConfig
class
TestIntegral
():
class
TestIntegral
():
workBook
=
xlrd
.
open_workbook
(
f
'{BMCConfig.root_path}/test_case_data/bmc/bmc_integral_20210513.xlsx'
)
workBook
=
xlrd
.
open_workbook
(
f
'{BMCConfig.root_path}/test_case_data/bmc/bmc_integral_20210513.xlsx'
)
@allure.story
(
"查询我的积分"
)
# @allure.story("查询我的积分")
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/55860"
)
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/55860")
@allure.description
(
"/integral/center/myIntegral"
)
# @allure.description("/integral/center/myIntegral")
@allure.title
(
"{inData[testPoint]}"
)
# @allure.title("{inData[testPoint]}")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'积分商城'
,
'myIntegral'
))
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'myIntegral'))
def
test_my_integral
(
self
,
inData
):
# def test_my_integral(self,inData):
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']
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)
assert
res
[
'code'
]
==
expectData
[
'code'
]
# assert res['code'] == expectData['code']
#
@allure.story
(
"查询我的签到情况"
)
# @allure.story("查询我的签到情况")
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/55869"
)
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/55869")
@allure.description
(
"/integral/center/sign"
)
# @allure.description("/integral/center/sign")
@allure.title
(
"{inData[testPoint]}"
)
# @allure.title("{inData[testPoint]}")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'积分商城'
,
'getsignIntegral'
))
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'getsignIntegral'))
def
test_get_sign_integral
(
self
,
inData
):
# def test_get_sign_integral(self, inData):
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']
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)
assert
res
[
'code'
]
==
expectData
[
'code'
]
# assert res['code'] == expectData['code']
return
res
[
'data'
][
'canSignInToday'
]
# return res['data']['canSignInToday']
#
@pytest.fixture
()
# @pytest.fixture()
def
test_pre_get_sign_integral
(
self
):
# def test_pre_get_sign_integral(self):
"""签到前置用例"""
# """签到前置用例"""
url
=
f
"{BMCConfig().host}/integral/center/sign"
# url = f"{BMCConfig().host}/integral/center/sign"
method
=
'get'
# method = 'get'
req_data
=
None
# req_data = None
headers
=
None
# headers = None
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
[
'data'
][
'canSignInToday'
]
# return res['data']['canSignInToday']
#
@allure.story
(
"签到"
)
# @allure.story("签到")
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/55878"
)
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/55878")
@allure.description
(
"/integral/center/sign"
)
# @allure.description("/integral/center/sign")
@allure.title
(
"{inData[testPoint]}"
)
# @allure.title("{inData[testPoint]}")
@pytest.mark.usefixtures
(
'test_pre_get_sign_integral'
)
# @pytest.mark.usefixtures('test_pre_get_sign_integral')
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'积分商城'
,
'postSignIntegral'
))
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'postSignIntegral'))
def
test_post_sign_integral
(
self
,
inData
,
test_pre_get_sign_integral
):
# def test_post_sign_integral(self, inData, test_pre_get_sign_integral):
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']
other_expected_data
=
eval
(
inData
[
'otherExpectData'
])
# other_expected_data = inData['otherExpectData']
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)
if
not
test_pre_get_sign_integral
:
# 已经签到过
# if not test_pre_get_sign_integral: # 已经签到过
assert
res
[
'code'
]
==
other_expected_data
[
'code'
]
# assert res['code'] == other_expected_data['code']
else
:
# else:
assert
res
[
'code'
]
==
expectData
[
'code'
]
# assert res['code'] == expectData['code']
#
@allure.story
(
"查询待领取积分清单"
)
# @allure.story("查询待领取积分清单")
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/55887"
)
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/55887")
@allure.description
(
"/integral/center/recommendedTasks"
)
# @allure.description("/integral/center/recommendedTasks")
@allure.title
(
"{inData[testPoint]}"
)
# @allure.title("{inData[testPoint]}")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'积分商城'
,
'taskIntegral'
))
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'taskIntegral'))
def
test_task_integral
(
self
,
inData
):
# def test_task_integral(self, inData):
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']
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)
assert
res
[
'code'
]
==
expectData
[
'code'
]
# assert res['code'] == expectData['code']
#
@allure.story
(
"查询积分商品"
)
# @allure.story("查询积分商品")
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/57138"
)
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/57138")
@allure.description
(
"/integral/center/integralGoods"
)
# @allure.description("/integral/center/integralGoods")
@allure.title
(
"{inData[testPoint]}"
)
# @allure.title("{inData[testPoint]}")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'积分商城'
,
'goodsIntegral'
))
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'goodsIntegral'))
def
test_goods_integral
(
self
,
inData
):
# def test_goods_integral(self, inData):
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']
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)
assert
res
[
'code'
]
==
expectData
[
'code'
]
# assert res['code'] == expectData['code']
#
@allure.story
(
"查询积分规则"
)
# @allure.story("查询积分规则")
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/64302"
)
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/64302")
@allure.description
(
"/integral/center/rule"
)
# @allure.description("/integral/center/rule")
@allure.title
(
"{inData[testPoint]}"
)
# @allure.title("{inData[testPoint]}")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'积分商城'
,
'ruleIntegral'
))
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'ruleIntegral'))
def
test_rule_integral
(
self
,
inData
):
# def test_rule_integral(self, inData):
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']
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)
assert
res
[
'code'
]
==
expectData
[
'code'
]
# assert res['code'] == expectData['code']
#
@allure.story
(
"设置签到提醒开关"
)
# @allure.story("设置签到提醒开关")
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/56418"
)
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/56418")
@allure.description
(
"/integral/center/sign/warnSwitch"
)
# @allure.description("/integral/center/sign/warnSwitch")
@allure.title
(
"{inData[testPoint]}"
)
# @allure.title("{inData[testPoint]}")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'积分商城'
,
'switchIntegral'
))
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'switchIntegral'))
def
test_switch_integral
(
self
,
inData
):
# def test_switch_integral(self, inData):
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']
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)
assert
res
[
'code'
]
==
expectData
[
'code'
]
# assert res['code'] == expectData['code']
#
@allure.story
(
"任务中心主页"
)
# @allure.story("任务中心主页")
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/56427"
)
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/56427")
@allure.description
(
"/integral/task/info"
)
# @allure.description("/integral/task/info")
@allure.title
(
"{inData[testPoint]}"
)
# @allure.title("{inData[testPoint]}")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'积分商城'
,
'infoIntegral'
))
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'infoIntegral'))
def
test_info_integral
(
self
,
inData
):
# def test_info_integral(self, inData):
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']
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)
assert
res
[
'code'
]
==
expectData
[
'code'
]
# assert res['code'] == expectData['code']
#
# @pytest.fixture()
# def test_pre_task_integral(self):
# """查询待领取积分清单"""
# url = f"{BMCConfig().host}/integral/center/recommendedTasks"
# method = 'get'
# req_data = None
# headers = None
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# return res['data']['list']
#
# @allure.story("领取积分")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/56436")
# @allure.description("/integral/task/receive")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.usefixtures('test_pre_task_integral')
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'receiveIntegral'))
# def test_receive_integral(self, inData, test_pre_task_integral):
# case_num = inData['caseNum']
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# for task in test_pre_task_integral:
# if task['status'] == 2 and case_num == 'receiveIntegral001': # 2表示可领取
# req_data['taskCode'] = task['taskCode']
# break
# elif task['status'] != 2 and case_num == 'receiveIntegral001':
# expectData['code'] = 1006
# break
# elif task['status'] != 2 and case_num == 'receiveIntegral002':
# req_data['taskCode'] = task['taskCode']
# break
# else:
# break
# 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/56841")
# @allure.description("/integral/task/getFollowInfo")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'FollowInfoIntegral'))
# def test_follow_info_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/55896")
# @allure.description("/integral/mall/goods/list")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'listIntegral'))
# def test_list_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/56076")
# @allure.description("/integral/mall/goods/detail")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'detailIntegral'))
# def test_detail_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']
@pytest.fixture
()
@pytest.fixture
()
def
test_pre_
task
_integral
(
self
):
def
test_pre_
list
_integral
(
self
):
"""
查询待领取积分清单
"""
"""
获取商品;列表
"""
url
=
f
"{BMCConfig().host}/integral/
center/recommendedTasks
"
url
=
f
"{BMCConfig().host}/integral/
mall/goods/list
"
method
=
'get'
method
=
'get'
req_data
=
None
req_data
=
{
"pageSize"
:
"20"
,
"pageIndex"
:
"1"
,
"sortType"
:
"0"
}
headers
=
None
headers
=
None
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
[
'data'
][
'list'
]
return
res
[
'data'
]
@allure.story
(
"领取积分"
)
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/56436"
)
@allure.description
(
"/integral/task/receive"
)
@allure.title
(
"{inData[testPoint]}"
)
@pytest.mark.usefixtures
(
'test_pre_task_integral'
)
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'积分商城'
,
'receiveIntegral'
))
def
test_receive_integral
(
self
,
inData
,
test_pre_task_integral
):
case_num
=
inData
[
'caseNum'
]
url
=
f
"{BMCConfig().host}{inData['url']}"
method
=
inData
[
'method'
]
req_data
=
inData
[
'reqData'
]
expectData
=
inData
[
'expectData'
]
headers
=
inData
[
'headers'
]
for
task
in
test_pre_task_integral
:
if
task
[
'status'
]
==
2
and
case_num
==
'receiveIntegral001'
:
# 2表示可领取
req_data
[
'taskCode'
]
=
task
[
'taskCode'
]
break
elif
task
[
'status'
]
!=
2
and
case_num
==
'receiveIntegral002'
:
req_data
[
'taskCode'
]
=
task
[
'taskCode'
]
break
else
:
break
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/56841"
)
@allure.description
(
"/integral/task/getFollowInfo"
)
@allure.title
(
"{inData[testPoint]}"
)
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'积分商城'
,
'FollowInfoIntegral'
))
def
test_follow_info_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/55896"
)
@allure.description
(
"/integral/mall/goods/list"
)
@allure.title
(
"{inData[testPoint]}"
)
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'积分商城'
,
'listIntegral'
))
def
test_list_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/56076"
)
@allure.description
(
"/integral/mall/goods/detail"
)
@allure.title
(
"{inData[testPoint]}"
)
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'积分商城'
,
'detailIntegral'
))
def
test_detail_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.story
(
"兑换商品接口"
)
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/56085"
)
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/56085"
)
@allure.description
(
"/integral/mall/goods/exchange"
)
@allure.description
(
"/integral/mall/goods/exchange"
)
@allure.title
(
"{inData[testPoint]}"
)
@allure.title
(
"{inData[testPoint]}"
)
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'积分商城'
,
'exchangeIntegral'
))
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'积分商城'
,
'exchangeIntegral'
))
def
test_exchange_integral
(
self
,
inData
):
def
test_exchange_integral
(
self
,
inData
,
test_pre_list_integral
):
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'
]
if
case_num
==
'exchangeIntegral001'
:
for
good
in
test_pre_list_integral
[
'list'
]:
if
good
[
'status'
]
==
1
:
req_data
[
'id'
]
=
good
[
'id'
]
break
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
)
assert
res
[
'code'
]
==
expectData
[
'code'
]
assert
res
[
'code'
]
==
expectData
[
'code'
]
@allure.story
(
"查询商品的适用门店列表"
)
#
@allure.story("查询商品的适用门店列表")
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/56094"
)
#
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/56094")
@allure.description
(
"/integral/mall/goods/applicableStores"
)
#
@allure.description("/integral/mall/goods/applicableStores")
@allure.title
(
"{inData[testPoint]}"
)
#
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'积分商城'
,
'applicableStoresIntegral'
))
#
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'applicableStoresIntegral'))
def
test_applicable_stores_integral
(
self
,
inData
):
#
def test_applicable_stores_integral(self, inData):
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']
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)
assert
res
[
'code'
]
==
expectData
[
'code'
]
#
assert res['code'] == expectData['code']
@allure.story
(
"查询兑换记录"
)
# @allure.story("查询兑换记录")
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/56103"
)
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/56103")
@allure.description
(
"/integral/mall/exchangeRecord/list"
)
# @allure.description("/integral/mall/exchangeRecord/list")
@allure.title
(
"{inData[testPoint]}"
)
# @allure.title("{inData[testPoint]}")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'积分商城'
,
'exchangeRecordListIntegral'
))
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'exchangeRecordListIntegral'))
def
test_exchange_record_list_integral
(
self
,
inData
):
# def test_exchange_record_list_integral(self, inData):
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']
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)
assert
res
[
'code'
]
==
expectData
[
'code'
]
# assert res['code'] == expectData['code']
#
# @allure.story("查询兑换记录详情")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/57354")
# @allure.description("/integral/mall/exchangeRecord/detail")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'exchangeRecordDetailIntegral'))
# def test_exchange_record_detail_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/61233")
# @allure.description("/integral/task/focusSuccess")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'focusSuccessIntegral'))
# def test_focus_success_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/57354"
)
@allure.description
(
"/integral/mall/exchangeRecord/detail"
)
@allure.title
(
"{inData[testPoint]}"
)
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'积分商城'
,
'exchangeRecordDetailIntegral'
))
def
test_exchange_record_detail_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/61233"
)
@allure.description
(
"/integral/task/focusSuccess"
)
@allure.title
(
"{inData[testPoint]}"
)
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'积分商城'
,
'focusSuccessIntegral'
))
def
test_focus_success_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_integral.py'
,
pytest
.
main
([
'-s'
,
'-v'
,
'test_integral.py'
,
r'--alluredir=D:\项目\接口自动化\InterfaceAutoTest\report'
,
'--clean-alluredir'
])
r'--alluredir=D:\项目\接口自动化\InterfaceAutoTest\report'
,
'--clean-alluredir'
])
...
...
test_case/bmc/test_vehicle_steward.py
View file @
e3d102c8
...
@@ -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_credit_score_20210513.xlsx
View file @
e3d102c8
No preview for this file type
test_case_data/bmc/bmc_integral_20210513.xlsx
View file @
e3d102c8
No preview for this file type
test_case_data/bmc/bmc_vehicle_steward_29_39_20210513.xlsx
View file @
e3d102c8
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