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
2db17fd9
Commit
2db17fd9
authored
May 19, 2021
by
taoke
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
3754ea59
735486ae
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
104 additions
and
76 deletions
+104
-76
test_case/bmc/test_credit_score.py
+3
-3
test_case/bmc/test_illegalstudy.py
+86
-64
test_case/bmc/test_integral.py
+15
-9
test_case_data/bmc/bmc_illegal_study_20210513.xlsx
+0
-0
test_case_data/bmc/bmc_integral_20210513.xlsx
+0
-0
test_case_data/bmc/bmc_testcase01_20210513.xlsx
+0
-0
No files found.
test_case/bmc/test_credit_score.py
View file @
2db17fd9
...
@@ -34,7 +34,7 @@ class TestCreditScore():
...
@@ -34,7 +34,7 @@ class TestCreditScore():
# @allure.testcase("{inData[yapiAddress]}")
# @allure.testcase("{inData[yapiAddress]}")
# @allure.description("url:/auth/login 。。。。")
# @allure.description("url:/auth/login 。。。。")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'creditscore'))
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'creditscore'))
def
test_creditscore
(
self
,
inData
):
def
test_creditscore
(
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'
]
...
@@ -53,8 +53,8 @@ if __name__ == '__main__':
...
@@ -53,8 +53,8 @@ if __name__ == '__main__':
# 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')
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_
illegal_study
_20210513.xlsx'
)
inData
=
get_excelData
(
workBook
,
'
出行服务'
,
'agreevehiclesteward'
)
inData
=
get_excelData
(
workBook
,
'
三车违法学习'
,
'logListIllegalstudy'
)[
0
]
print
(
inData
)
print
(
inData
)
# TestCreditScore().bmc_login_fixture()
# TestCreditScore().bmc_login_fixture()
# TestCreditScore().test_creditscore(inData)
# TestCreditScore().test_creditscore(inData)
...
...
test_case/bmc/test_illegalstudy.py
View file @
2db17fd9
...
@@ -12,31 +12,49 @@ from config import BMCConfig
...
@@ -12,31 +12,49 @@ from config import BMCConfig
class
TestIllegalStudy
():
class
TestIllegalStudy
():
workBook
=
xlrd
.
open_workbook
(
f
'{BMCConfig.root_path}/test_case_data/bmc/bmc_illegal_study_20210513.xlsx'
)
workBook
=
xlrd
.
open_workbook
(
f
'{BMCConfig.root_path}/test_case_data/bmc/bmc_illegal_study_20210513.xlsx'
)
# @allure.story("查询最近成绩")
@pytest.fixture
()
# @allure.link("http://yapi.hikcreate.com/project/32/interface/api/67503")
def
test_pre_recent_grade
(
self
):
# @allure.description("/answer/recentGrade")
"""查看是否有答题记录"""
# @allure.title("{inData[testPoint]}")
url
=
f
"{BMCConfig().host}/answer/logList"
# @pytest.mark.parametrize("inData", get_excelData(workBook, '三车违法学习', 'recentGradeIllegalstudy'))
method
=
'get'
# def test_recentGradeIllegalstudy(self,inData):
req_data
=
{
'pageIndex'
:
1
,
'pageSize'
:
20
}
# url = f"{BMCConfig().host}{inData['url']}"
res
=
request_main
(
url
=
url
,
headers
=
None
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
# method = inData['method']
# 答题记录 res['data']['totalCount']
# req_data = inData['reqData']
return
res
[
'data'
]
# expectData = inData['expectData']
# res = request_main(url=url, headers=None, method=method, data=req_data, has_token=True)
@allure.story
(
"查询最近成绩"
)
# assert res['code'] == expectData['code']
@allure.link
(
"http://yapi.hikcreate.com/project/32/interface/api/67503"
)
# #
@allure.description
(
"/answer/recentGrade"
)
# @allure.story("获取典型案例视频")
@allure.title
(
"{inData[testPoint]}"
)
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/57606")
@pytest.mark.usefixtures
(
'test_pre_recent_grade'
)
# @allure.description("/illegal/study/video/typicalCase")
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'三车违法学习'
,
'recentGradeIllegalstudy'
))
# @allure.title("{inData[testPoint]}")
def
test_recent_grade_illegal_study
(
self
,
inData
,
test_pre_recent_grade
):
# @pytest.mark.parametrize("inData", get_excelData(workBook, '三车违法学习', 'typicalCaseIllegalstudy'))
url
=
f
"{BMCConfig().host}{inData['url']}"
# def test_typicalCaseIllegalstudy(self, inData):
method
=
inData
[
'method'
]
# url = f"{BMCConfig().host}{inData['url']}"
req_data
=
inData
[
'reqData'
]
# method = inData['method']
expectData
=
inData
[
'expectData'
]
# req_data = inData['reqData']
headers
=
inData
[
'headers'
]
# expectData = inData['expectData']
is_answer_record
=
test_pre_recent_grade
[
'totalCount'
]
# res = request_main(url=url, headers=None, method=method, data=req_data, has_token=True)
if
is_answer_record
==
0
:
# 无答题记录
# assert res['code'] == expectData['code']
expectData
[
'code'
]
=
1006
else
:
expectData
[
'code'
]
=
1000
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/57606"
)
@allure.description
(
"/illegal/study/video/typicalCase"
)
@allure.title
(
"{inData[testPoint]}"
)
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'三车违法学习'
,
'typicalCaseIllegalstudy'
))
def
test_typical_case_illegal_study
(
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/32/interface/api/69573"
)
@allure.link
(
"http://yapi.hikcreate.com/project/32/interface/api/69573"
)
...
@@ -81,7 +99,7 @@ class TestIllegalStudy():
...
@@ -81,7 +99,7 @@ class TestIllegalStudy():
@allure.title
(
"{inData[testPoint]}"
)
@allure.title
(
"{inData[testPoint]}"
)
@pytest.mark.usefixtures
(
'test_pre_get_paper_illegal_study'
)
@pytest.mark.usefixtures
(
'test_pre_get_paper_illegal_study'
)
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'三车违法学习'
,
'submitAnswerIllegalstudy'
))
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'三车违法学习'
,
'submitAnswerIllegalstudy'
))
def
test_submit
AnswerIllegal
study
(
self
,
inData
,
test_pre_get_paper_illegal_study
):
def
test_submit
_answer_illegal_
study
(
self
,
inData
,
test_pre_get_paper_illegal_study
):
browsequestion
,
choosequestion
=
test_pre_get_paper_illegal_study
browsequestion
,
choosequestion
=
test_pre_get_paper_illegal_study
url
=
f
"{BMCConfig().host}{inData['url']}"
url
=
f
"{BMCConfig().host}{inData['url']}"
method
=
inData
[
'method'
]
method
=
inData
[
'method'
]
...
@@ -119,44 +137,48 @@ class TestIllegalStudy():
...
@@ -119,44 +137,48 @@ class TestIllegalStudy():
res
=
request_main
(
url
=
url
,
headers
=
None
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
res
=
request_main
(
url
=
url
,
headers
=
None
,
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/32/interface/api/67485")
@allure.link
(
"http://yapi.hikcreate.com/project/32/interface/api/67485"
)
# @allure.description("/answer/detail")
@allure.description
(
"/answer/detail"
)
# @allure.title("{inData[testPoint]}")
@allure.title
(
"{inData[testPoint]}"
)
# @pytest.mark.parametrize("inData", get_excelData(workBook, '三车违法学习', 'detailIllegalstudy'))
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'三车违法学习'
,
'detailIllegalstudy'
))
# def test_detailIllegalstudy(self, inData):
def
test_detail_illegal_study
(
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'
]
# res = request_main(url=url, headers=None, method=method, data=req_data, has_token=True)
headers
=
inData
[
'headers'
]
# assert res['code'] == expectData['code']
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/67497")
@allure.story
(
"查询答题记录列表"
)
# @allure.description("/answer/logList")
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/67497"
)
# @allure.title("{inData[testPoint]}")
@allure.description
(
"/answer/logList"
)
# @pytest.mark.parametrize("inData", get_excelData(workBook, '三车违法学习', 'logListIllegalstudy'))
@allure.title
(
"{inData[testPoint]}"
)
# def test_logListIllegalstudy(self, inData):
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'三车违法学习'
,
'logListIllegalstudy'
))
# url = f"{BMCConfig().host}{inData['url']}"
def
test_log_list_illegal_study
(
self
,
inData
):
# method = inData['method']
url
=
f
"{BMCConfig().host}{inData['url']}"
# req_data = inData['reqData']
method
=
inData
[
'method'
]
# expectData = inData['expectData']
req_data
=
inData
[
'reqData'
]
# res = request_main(url=url, headers=None, method=method, data=req_data, has_token=True)
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("答题记录查询")
print
(
res
)
# @allure.link("http://yapi.hikcreate.com/project/32/interface/api/67491")
assert
res
[
'code'
]
==
expectData
[
'code'
]
# @allure.description("/answer/log")
# @allure.title("{inData[testPoint]}")
@allure.story
(
"答题记录查询"
)
# @pytest.mark.parametrize("inData", get_excelData(workBook, '三车违法学习', 'logIllegalstudy'))
@allure.link
(
"http://yapi.hikcreate.com/project/32/interface/api/67491"
)
# def test_logIllegalstudy(self, inData):
@allure.description
(
"/answer/log"
)
# url = f"{BMCConfig().host}{inData['url']}"
@allure.title
(
"{inData[testPoint]}"
)
# method = inData['method']
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'三车违法学习'
,
'logIllegalstudy'
))
# req_data = inData['reqData']
def
test_log_illegal_study
(
self
,
inData
):
# expectData = inData['expectData']
url
=
f
"{BMCConfig().host}{inData['url']}"
# res = request_main(url=url, headers=None, method=method, data=req_data, has_token=True)
method
=
inData
[
'method'
]
# assert res['code'] == expectData['code']
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_illegalstudy.py'
,
pytest
.
main
([
'-s'
,
'-v'
,
'test_illegalstudy.py'
,
...
...
test_case/bmc/test_integral.py
View file @
2db17fd9
...
@@ -26,7 +26,6 @@ class TestIntegral():
...
@@ -26,7 +26,6 @@ class TestIntegral():
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"
)
...
@@ -59,13 +58,12 @@ class TestIntegral():
...
@@ -59,13 +58,12 @@ class TestIntegral():
@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
=
inData
[
'otherExpectData'
]
other_expected_data
=
eval
(
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'
]
...
@@ -84,7 +82,6 @@ class TestIntegral():
...
@@ -84,7 +82,6 @@ class TestIntegral():
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
)
self
.
task_list
=
res
[
'data'
][
'list'
]
assert
res
[
'code'
]
==
expectData
[
'code'
]
assert
res
[
'code'
]
==
expectData
[
'code'
]
@allure.story
(
"查询积分商品"
)
@allure.story
(
"查询积分商品"
)
...
@@ -143,30 +140,39 @@ class TestIntegral():
...
@@ -143,30 +140,39 @@ class TestIntegral():
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.story
(
"领取积分"
)
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/56436"
)
@allure.link
(
"http://yapi.hikcreate.com/project/31/interface/api/56436"
)
@allure.description
(
"/integral/task/receive"
)
@allure.description
(
"/integral/task/receive"
)
@allure.title
(
"{inData[testPoint]}"
)
@allure.title
(
"{inData[testPoint]}"
)
@pytest.mark.usefixtures
(
'test_pre_task_integral'
)
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'积分商城'
,
'receiveIntegral'
))
@pytest.mark.parametrize
(
"inData"
,
get_excelData
(
workBook
,
'积分商城'
,
'receiveIntegral'
))
def
test_receive_integral
(
self
,
inData
):
def
test_receive_integral
(
self
,
inData
,
test_pre_task_integral
):
case_num
=
inData
[
'caseNum'
]
case_num
=
inData
[
'caseNum'
]
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'
]
for
task
in
self
.
task_list
:
for
task
in
test_pre_task_integral
:
if
task
[
'status'
]
==
2
and
case_num
==
'receiveIntegral001'
:
# 2表示可领取
if
task
[
'status'
]
==
2
and
case_num
==
'receiveIntegral001'
:
# 2表示可领取
req_data
[
'taskCode'
]
=
task
[
'taskCode'
]
req_data
[
'taskCode'
]
=
task
[
'taskCode'
]
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
break
break
elif
task
[
'status'
]
!=
2
and
case_num
==
'receiveIntegral002'
:
elif
task
[
'status'
]
!=
2
and
case_num
==
'receiveIntegral002'
:
req_data
[
'taskCode'
]
=
task
[
'taskCode'
]
req_data
[
'taskCode'
]
=
task
[
'taskCode'
]
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
break
break
else
:
else
:
res
=
request_main
(
url
=
url
,
headers
=
headers
,
method
=
method
,
data
=
req_data
,
has_token
=
False
)
break
break
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
(
"获取关注信息"
)
...
...
test_case_data/bmc/bmc_illegal_study_20210513.xlsx
View file @
2db17fd9
No preview for this file type
test_case_data/bmc/bmc_integral_20210513.xlsx
View file @
2db17fd9
No preview for this file type
test_case_data/bmc/bmc_testcase01_20210513.xlsx
View file @
2db17fd9
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