Commit e3d102c8 by huangchengcheng

Merge remote-tracking branch 'origin/master' into master

parents 651e52f6 b0227c68
......@@ -45,7 +45,7 @@ class MYSQL:
"""
self.conn = pymysql.connect(host=self.host, port=self.port, user=self.user,
password=self.pwd, database=self.db, charset="utf8")
cur = self.conn.cursor()
cur = self.conn.cursor(pymysql.cursors.DictCursor)
return cur
def ExecuQuery(self,sql):
......@@ -92,6 +92,8 @@ if __name__ == '__main__':
# print(r)
# print(str(r)[-7:-1])
# 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)
......@@ -85,7 +85,7 @@ def get_excelData(workBook,sheetName,caseName):
if __name__ == '__main__':
workBook = xlrd.open_workbook('../../test_case_data/bmc/bmc_testcase_20210513.xlsx')
li = get_excelData(workBook,"账号信息基本功能","login")
for i in li :
for i in li:
print(i)
......
......@@ -14,329 +14,355 @@ from config import BMCConfig
class TestCreditScore():
workBook = xlrd.open_workbook(f'{BMCConfig.root_path}/test_case_data/bmc/bmc_credit_score_20210513.xlsx')
# @allure.story("信用分详情")
# @allure.link("")
# @allure.description("/credit/myCredit/V2")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'Vcreditscore'))
# def test_v_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)
# print(res)
# assert res['code'] == expectData['code']
# @allure.story("分享信用分")
# @allure.link("")
# @allure.description("/credit/pkCredit/sharePic")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'sharePiccreditscore'))
# def test_share_pic_credit_score(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("")
# # @allure.description("/credit/record/list")
# # @allure.title("{inData[testPoint]}")
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'recordlistcreditscore'))
# # def test_record_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.link("")
# # @allure.description("/credit/base/list")
# # @allure.title("{inData[testPoint]}")
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'baselistcreditscore'))
# # def test_base_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.link("")
# # @allure.description("/credit/explore/performance/list")
# # @allure.title("{inData[testPoint]}")
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'performancelistcreditscore'))
# # def test_performance_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.link("")
# # @allure.description("/credit/detail/idCard")
# # @allure.title("{inData[testPoint]}")
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'idCardcreditscore'))
# # def test_idCard_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("/drivingLicense/image/status")
# # @allure.title("{inData[testPoint]}")
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'imagestatuscreditscore'))
# # def test_image_status_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("/drivingLicense/image")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'imagecreditscore'))
# def test_image_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)
# print(res)
# assert res['code'] == expectData['code']
#
# # @allure.story("车辆列表")
# # @allure.link("")
# # @allure.description("/vehicle/manage/list")
# # @allure.title("{inData[testPoint]}")
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'managelistcreditscore'))
# # def test_manage_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.link("")
# @allure.description("/credit/education/getEducationList")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'getEducationListcreditscore'))
# def test_get_education_list_credit_score(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("")
# @allure.description("/credit/work/getWorkList")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'getWorkListcreditscore'))
# def test_get_work_list_credit_score(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("")
# # @allure.description("/vehicle/selection/list")
# # @allure.title("{inData[testPoint]}")
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'selectionlistcreditscore'))
# # def test_selection_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.link("")
# @allure.description("/credit/education/provinces")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'provincescreditscore'))
# def test_provinces_credit_score(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("")
# # @allure.description("/sys/dict/list")
# # @allure.title("{inData[testPoint]}")
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'dictlistcreditscore'))
# # def test_dict_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.link("")
# @allure.description("/credit/education/addEducation")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'addEducationcreditscore'))
# def test_add_education_credit_score(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)
# print(res)
# assert res['code'] == expectData['code']
#
# 有问题 数据不存在 先查询学历 然后再调用此接口
# @allure.story("删除学历")
# @allure.link("")
# @allure.description("/credit/education/deleteEducation")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'deleteEducationcreditscore'))
# def test_delete_education_credit_score(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)
# print(res)
# assert res['code'] == expectData['code']
#
# # 有问题 数据重复 无法填写相同岗位信息
# @allure.story("单位信息")
# @allure.link("")
# @allure.description("/credit/work/addCompany")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'addCompanycreditscore'))
# def test_add_company_credit_score(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)
# print(res)
# assert res['code'] == expectData['code']
#
# # 有问题 接口有问题
# @allure.story("删除单位信息")
# @allure.link("")
# @allure.description("/credit/work/deleteWork")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'deleteWorkcreditscore'))
# def test_delete_work_credit_score(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)
# print(res)
# assert res['code'] == expectData['code']
# # @allure.story("驾驶证年审")
# # @allure.link("")
# # @allure.description("/credit/explore/performance/wait/dl/examine")
# # @allure.title("{inData[testPoint]}")
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'examinecreditscore'))
# # def test_examine_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("/drivingLicense/image/text")
# # @allure.title("{inData[testPoint]}")
# # @pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'imagetextcreditscore'))
# # def test_image_text_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("/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)
# print(res)
# assert res['code'] == expectData['code']
#
# 有问题
@allure.story("信用分详情")
@allure.link("")
@allure.description("/credit/myCredit/V2")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'Vcreditscore'))
def test_v_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("/credit/pkCredit/sharePic")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'sharePiccreditscore'))
def test_share_pic_credit_score(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("")
@allure.description("/credit/record/list")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'recordlistcreditscore'))
def test_record_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.link("")
@allure.description("/credit/base/list")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'baselistcreditscore'))
def test_base_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.link("")
@allure.description("/credit/explore/performance/list")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'performancelistcreditscore'))
def test_performance_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.link("")
@allure.description("/credit/detail/idCard")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'idCardcreditscore'))
def test_idCard_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("/drivingLicense/image/status")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'imagestatuscreditscore'))
def test_image_status_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("/drivingLicense/image")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'imagecreditscore'))
def test_image_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/manage/list")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'managelistcreditscore'))
def test_manage_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.link("")
@allure.description("/credit/education/getEducationList")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'getEducationListcreditscore'))
def test_get_education_list_credit_score(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("")
@allure.description("/credit/work/getWorkList")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'getWorkListcreditscore'))
def test_get_work_list_credit_score(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("")
@allure.description("/vehicle/selection/list")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'selectionlistcreditscore'))
def test_selection_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.link("")
@allure.description("/credit/education/provinces")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'provincescreditscore'))
def test_provinces_credit_score(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("")
@allure.description("/sys/dict/list")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'dictlistcreditscore'))
def test_dict_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']
@pytest.fixture()
def test_get_education(self):
"""获取学历信息"""
url = f"{BMCConfig().host}/credit/education/getEducationList"
method = 'get'
req_data = None
headers = None
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
return res
@allure.story("学历认证")
@allure.link("")
@allure.description("/credit/education/addEducation")
@allure.title("{inData[testPoint]}")
@pytest.mark.usefixtures('test_get_education')
@pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'addEducationcreditscore'))
def test_add_education_credit_score(self, inData, test_get_education):
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)
education_list = test_get_education['data']['list']
for item in education_list:
if item['school'] == req_data['school']: # 根据学校来判断是否相同学历
expectData['code'] = 1006
else:
expectData['code'] = 1000
assert res['code'] == expectData['code']
@allure.story("删除学历")
@allure.link("")
@allure.description("/credit/education/deleteEducation")
@allure.title("{inData[testPoint]}")
@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):
education_list = test_get_education['data']['list']
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
req_data['id'] = education_list[0]['id']
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("/credit/work/addCompany")
@allure.title("{inData[testPoint]}")
@pytest.mark.usefixtures('test_pre_work_info')
@pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'addCompanycreditscore'))
def test_add_company_credit_score(self, inData, test_pre_work_info):
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
company_name = req_data['companyName']
expectData = inData['expectData']
headers = inData['headers']
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
work_list = test_pre_work_info['data']['list']
for work in work_list:
if company_name == work['companyName']:
expectData['code'] = 1006
else:
expectData['code'] = 1000
assert res['code'] == expectData['code']
@pytest.fixture()
def test_pre_work_info(self):
"""获取单位信息套件"""
url = f"{BMCConfig().host}/credit/work/getWorkList"
method = 'get'
req_data = None
headers = None
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
return res
@allure.story("删除单位信息")
@allure.link("")
@allure.description("/credit/work/deleteWork")
@allure.title("{inData[testPoint]}")
@pytest.mark.usefixtures('test_pre_work_info')
@pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'deleteWorkcreditscore'))
def test_delete_work_credit_score(self, inData, test_pre_work_info):
work_id = test_pre_work_info['data']['list'][0]['id']
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
req_data['id'] = work_id
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("/credit/explore/performance/wait/dl/examine")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'examinecreditscore'))
def test_examine_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("/drivingLicense/image/text")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '信用分', 'imagetextcreditscore'))
def test_image_text_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("/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.link("")
@allure.description("/vehicle/vCode/detail")
......@@ -349,7 +375,6 @@ class TestCreditScore():
expectData = inData['expectData']
headers = inData['headers']
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
print(res)
assert res['code'] == expectData['code']
......@@ -357,5 +382,5 @@ if __name__ == '__main__':
pytest.main(['-s', '-v', 'test_credit_score.py',
r'--alluredir=D:\项目\接口自动化\InterfaceAutoTest\report', '--clean-alluredir'])
# os.system('allure serve D:\项目\接口自动化\InterfaceAutoTest\\report')
os.system('allure serve D:\项目\接口自动化\InterfaceAutoTest\\report')
......@@ -12,280 +12,301 @@ from config import BMCConfig
class TestIntegral():
workBook = xlrd.open_workbook(f'{BMCConfig.root_path}/test_case_data/bmc/bmc_integral_20210513.xlsx')
@allure.story("查询我的积分")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/55860")
@allure.description("/integral/center/myIntegral")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'myIntegral'))
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/55869")
@allure.description("/integral/center/sign")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'getsignIntegral'))
def test_get_sign_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']
return res['data']['canSignInToday']
@pytest.fixture()
def test_pre_get_sign_integral(self):
"""签到前置用例"""
url = f"{BMCConfig().host}/integral/center/sign"
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']['canSignInToday']
@allure.story("签到")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/55878")
@allure.description("/integral/center/sign")
@allure.title("{inData[testPoint]}")
@pytest.mark.usefixtures('test_pre_get_sign_integral')
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'postSignIntegral'))
def test_post_sign_integral(self, inData, test_pre_get_sign_integral):
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
other_expected_data = eval(inData['otherExpectData'])
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
if not test_pre_get_sign_integral: # 已经签到过
assert res['code'] == other_expected_data['code']
else:
assert res['code'] == expectData['code']
@allure.story("查询待领取积分清单")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/55887")
@allure.description("/integral/center/recommendedTasks")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'taskIntegral'))
def test_task_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/57138")
@allure.description("/integral/center/integralGoods")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'goodsIntegral'))
def test_goods_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/64302")
@allure.description("/integral/center/rule")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'ruleIntegral'))
def test_rule_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/56418")
@allure.description("/integral/center/sign/warnSwitch")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'switchIntegral'))
def test_switch_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/56427")
@allure.description("/integral/task/info")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'infoIntegral'))
def test_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/55860")
# @allure.description("/integral/center/myIntegral")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'myIntegral'))
# 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/55869")
# @allure.description("/integral/center/sign")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'getsignIntegral'))
# def test_get_sign_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']
# return res['data']['canSignInToday']
#
# @pytest.fixture()
# def test_pre_get_sign_integral(self):
# """签到前置用例"""
# url = f"{BMCConfig().host}/integral/center/sign"
# 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']['canSignInToday']
#
# @allure.story("签到")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/55878")
# @allure.description("/integral/center/sign")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.usefixtures('test_pre_get_sign_integral')
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'postSignIntegral'))
# def test_post_sign_integral(self, inData, test_pre_get_sign_integral):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# other_expected_data = inData['otherExpectData']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# if not test_pre_get_sign_integral: # 已经签到过
# assert res['code'] == other_expected_data['code']
# else:
# assert res['code'] == expectData['code']
#
# @allure.story("查询待领取积分清单")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/55887")
# @allure.description("/integral/center/recommendedTasks")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'taskIntegral'))
# def test_task_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/57138")
# @allure.description("/integral/center/integralGoods")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'goodsIntegral'))
# def test_goods_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/64302")
# @allure.description("/integral/center/rule")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'ruleIntegral'))
# def test_rule_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/56418")
# @allure.description("/integral/center/sign/warnSwitch")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'switchIntegral'))
# def test_switch_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/56427")
# @allure.description("/integral/task/info")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'infoIntegral'))
# def test_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']
#
# @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()
def test_pre_task_integral(self):
"""查询待领取积分清单"""
url = f"{BMCConfig().host}/integral/center/recommendedTasks"
def test_pre_list_integral(self):
"""获取商品;列表"""
url = f"{BMCConfig().host}/integral/mall/goods/list"
method = 'get'
req_data = None
req_data = {"pageSize":"20","pageIndex":"1","sortType":"0"}
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 == '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']
return res['data']
@allure.story("兑换商品接口")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/56085")
@allure.description("/integral/mall/goods/exchange")
@allure.title("{inData[testPoint]}")
@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']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
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)
assert res['code'] == expectData['code']
@allure.story("查询商品的适用门店列表")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/56094")
@allure.description("/integral/mall/goods/applicableStores")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'applicableStoresIntegral'))
def test_applicable_stores_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/56094")
# @allure.description("/integral/mall/goods/applicableStores")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'applicableStoresIntegral'))
# def test_applicable_stores_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/56103")
@allure.description("/integral/mall/exchangeRecord/list")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'exchangeRecordListIntegral'))
def test_exchange_record_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/56103")
# @allure.description("/integral/mall/exchangeRecord/list")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'exchangeRecordListIntegral'))
# def test_exchange_record_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/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__':
pytest.main(['-s', '-v', 'test_integral.py',
r'--alluredir=D:\项目\接口自动化\InterfaceAutoTest\report', '--clean-alluredir'])
......
......@@ -11,12 +11,14 @@ from common.db import MYSQL
@allure.feature("出行服务")
class TestVehicleSteward():
# def setUp_class(self):
# """链接数据库"""
# # 出行服务
# ms = MYSQL('10.197.236.190', 3306, 'root', '123456', 'edl_public')
# # 获取账号的userId -- 目前已经在excel中写死为 17822000000 账号的userId
# self.resList = ms.ExecuQuery('SELECT * FROM edl_public.user where phone=17822000000;')
def setup_class(self):
# def test_setup_class(self):
"""链接数据库"""
# 出行服务
self.ms = MYSQL('10.197.236.190', 3306, 'root', '123456', 'edl_public')
# 获取账号的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')
......@@ -34,13 +36,22 @@ class TestVehicleSteward():
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
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.link("http://yapi.hikcreate.com/project/31/interface/api/75421")
@allure.description("/vehicle/steward/authorization/authorizationOfUse")
@allure.title("{inData[testPoint]}")
@pytest.mark.usefixtures('test_pre_info')
@pytest.mark.run('first')
@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']}"
method = inData['method']
req_data = inData['reqData']
......@@ -50,33 +61,34 @@ class TestVehicleSteward():
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)
print(res)
setattr(TestVehicleSteward, 'gasLog', res['data']['gasLog'])
setattr(TestVehicleSteward, 'trafficFine', res['data']['trafficFine'])
assert res['code'] == expectData['code']
else:
pytest.skip(msg="未开启授权,跳过此用例")
# 开启授权
test_pre_custody
@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.usefixtures('test_pre_info')
@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']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
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:
is_auth = test_pre_info['data']['auth']
except Exception as e:
if not self.gasLog :
req_data['gasLog'] = True
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
print(res)
elif self.gasLog:
req_data['gasLog'] = False
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
......@@ -84,94 +96,111 @@ class TestVehicleSteward():
else:
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__':
pytest.main(['-s', '-v', 'test_vehicle_steward.py',
r'--alluredir=D:\项目\接口自动化\InterfaceAutoTest\report', '--clean-alluredir'])
#
# os.system('allure serve D:\项目\接口自动化\InterfaceAutoTest\\report')
\ No newline at end of file
os.system('allure serve D:\项目\接口自动化\InterfaceAutoTest\\report')
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment