Commit 0e3487d7 by fanxun

注册用例实现3

parent 5b68af77
...@@ -87,7 +87,7 @@ class TestRegister(): ...@@ -87,7 +87,7 @@ class TestRegister():
# @allure.description("/sys/captcha") # @allure.description("/sys/captcha")
# @allure.title("{inData[testPoint]}") # @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '账号信息基本功能', 'captchaRegister')) # @pytest.mark.parametrize("inData", get_excelData(workBook, '账号信息基本功能', 'captchaRegister'))
# def test_login_type_register(self, inData): # def test_captcha_register(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']
...@@ -96,116 +96,188 @@ class TestRegister(): ...@@ -96,116 +96,188 @@ class TestRegister():
# 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() # @pytest.fixture()
def test_picture(self): # def test_picture(self):
"""获取图形验证码""" # """获取图形验证码"""
url = f"{BMCConfig().host}/sys/captcha" # url = f"{BMCConfig().host}/sys/captcha"
method = 'get' # method = 'get'
req_data = {"bCityCode":"520100","bizType":"1"} # req_data = {"bCityCode":"520100","bizType":"1"}
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 # return res
#
# 有错误 提示图形验证码超时 -- 需要写个获取图形验证码的套件 # @allure.story("图形短信验证码")
@allure.story("图形短信验证码") # @allure.link("http://yapi.hikcreate.com/project/31/interface/api/10943")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/10943") # @allure.description("/v1/user/login/verifyCode/detail")
@allure.description("/v1/user/login/verifyCode/detail")
@allure.title("{inData[testPoint]}")
@pytest.mark.flaky(reruns=1)
@pytest.mark.parametrize("inData", get_excelData(workBook, '账号信息基本功能', 'verifyCodedetailRegister'))
def test_login_type_register(self, inData, test_picture):
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
casenum = inData['caseNum']
phone = req_data['phone']
jtId = test_picture['data']['jtId']
req_data['jtId'] = jtId
horPercent = int(RedisString(0).get(f'bmc:captcha:{jtId}'))
req_data['horPercent'] = horPercent
if casenum == 'verifyCodedetailRegister006':
req_data['horPercent'] = None
elif casenum == 'verifyCodedetailRegister007':
req_data['horPercent'] = 1
elif casenum == 'verifyCodedetailRegister008':
req_data['jtId'] = None
elif casenum == 'verifyCodedetailRegister009' or casenum == 'verifyCodedetailRegister010':
time.sleep(60)
pass
if not phone:
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# 发送次数过多
if res['msg'] == '验证码发送次数过多,请24小时后再试':
expectData['code'] = 1006
assert res['code'] == expectData['code']
else:
resList = self.ms.ExecuQuery(f'SELECT * FROM edl_public.user where phone={phone};')
if not resList:
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
print(res)
# 发送次数过多
if res['msg'] == '验证码发送次数过多,请24小时后再试':
expectData['code'] = 1006
assert res['code'] == expectData['code']
else:
user_id = resList[0]['id']
self.ms.ExecuNonQuery(
f'delete from edl_public.user where id={user_id};')
# 有问题 -- 写个套件 获取短信验证码
# @allure.story("短信验证")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/10787")
# @allure.description("/user/login/verifyCode")
# @allure.title("{inData[testPoint]}") # @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '账号信息基本功能', 'loginverifyCodeRegister')) # @pytest.mark.flaky(reruns=1)
# def test_login_type_register(self, inData): # @pytest.mark.parametrize("inData", get_excelData(workBook, '账号信息基本功能', 'verifyCodedetailRegister'))
# def test_verify_code_detail_register(self, inData, test_picture):
# 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']
# casenum = inData['caseNum']
# phone = req_data['phone'] # phone = req_data['phone']
#
# jtId = test_picture['data']['jtId']
# req_data['jtId'] = jtId
# horPercent = int(RedisString(0).get(f'bmc:captcha:{jtId}'))
# req_data['horPercent'] = horPercent
# if casenum == 'verifyCodedetailRegister006':
# req_data['horPercent'] = None
# elif casenum == 'verifyCodedetailRegister007':
# req_data['horPercent'] = 1
# elif casenum == 'verifyCodedetailRegister008':
# req_data['jtId'] = None
# elif casenum == 'verifyCodedetailRegister009' or casenum == 'verifyCodedetailRegister010':
# time.sleep(60)
# if not phone: # if not phone:
# 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 res['msg'] == '验证码发送次数过多,请24小时后再试':
# expectData['code'] = 1006
# assert res['code'] == expectData['code'] # assert res['code'] == expectData['code']
# else: # else:
# resList = self.ms.ExecuQuery(f'SELECT * FROM edl_public.user where phone={phone};') # resList = self.ms.ExecuQuery(f'SELECT * FROM edl_public.user where phone={phone};')
# if not resList: # if not resList:
# 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 res['msg'] == '验证码发送次数过多,请24小时后再试':
# expectData['code'] = 1006
# assert res['code'] == expectData['code'] # assert res['code'] == expectData['code']
# else: # else:
# user_id = resList[0]['id'] # user_id = resList[0]['id']
# self.ms.ExecuNonQuery( # self.ms.ExecuNonQuery(
# f'delete from edl_public.user where id={user_id};') # f'delete from edl_public.user where id={user_id};')
# @allure.story("设置手势-登录") # @pytest.fixture()
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/10974") # def test_pre_message(self):
# @allure.description("/v1/user/login/gesture/setAndLogin") # """请求短信验证码"""
# # 获取图片验证码
# url1 = f"{BMCConfig().host}/sys/captcha"
# method1 = 'get'
# req_data1 = {"bCityCode":"520100","bizType":"1"}
# headers = None
# res_picture = request_main(url=url1, headers=headers, method=method1, data=req_data1, has_token=False)
#
# # 获取短信验证码
# url = f"{BMCConfig().host}/v1/user/login/verifyCode/detail"
# method = 'post'
# req_data = {"phone":"15999009999","bizType":1,"horPercent":None,"jtId":None,"bCityCode":"520100","bNetTag":"trf_mgt"}
# headers = None
# phone = req_data['phone']
#
# jtId = res_picture['data']['jtId']
# req_data['jtId'] = jtId
# horPercent = int(RedisString(0).get(f'bmc:captcha:{jtId}'))
# req_data['horPercent'] = horPercent
# resList = self.ms.ExecuQuery(f'SELECT * FROM edl_public.user where phone={phone};')
# if resList:
# user_id = resList[0]['id']
# self.ms.ExecuNonQuery(
# f'delete from edl_public.user where id={user_id};')
# 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/10787")
# @allure.description("/user/login/verifyCode")
# @allure.title("{inData[testPoint]}") # @allure.title("{inData[testPoint]}")
# @pytest.mark.flaky(reruns=2) # @pytest.mark.flaky(reruns=1)
# @pytest.mark.parametrize("inData", get_excelData(workBook, '账号信息基本功能', 'gesturesetAndLoginRegister')) # @pytest.mark.parametrize("inData", get_excelData(workBook, '账号信息基本功能', 'loginverifyCodeRegister'))
# def test_login_type_register(self, inData): # def test_login_verify_code_register(self, inData, test_pre_message):
# 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']
# casenum = inData['caseNum']
# phone = req_data['phone'] # phone = req_data['phone']
# pre = test_pre_message
# if not phone: # if not phone:
# 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']
# else: # else:
# resList = self.ms.ExecuQuery(f'SELECT * FROM edl_public.user where phone={phone};') # resList = self.ms.ExecuQuery(f'SELECT * FROM edl_public.user where phone={phone};')
# if not resList: # if not resList:
# if casenum == 'loginverifyCodeRegister004' or casenum == 'loginverifyCodeRegister005':
# try:
# verifyCode = int(RedisString(0).get(f'edl:sms_value:{phone}:MOBILE_REGISTER'))
# except Exception:
# expectData['code'] = 1006
# else:
# req_data['verifyCode'] = verifyCode
# 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']
# else: # else:
# user_id = resList[0]['id'] # user_id = resList[0]['id']
# self.ms.ExecuNonQuery( # self.ms.ExecuNonQuery(
# f'delete from edl_public.user where id={user_id};') # f'delete from edl_public.user where id={user_id};')
@pytest.fixture()
def test_pre_gesture_login(self):
"""请求短信验证码"""
# 获取图片验证码
url1 = f"{BMCConfig().host}/sys/captcha"
method1 = 'get'
req_data1 = {"bCityCode": "520100", "bizType": "1"}
headers = None
res_picture = request_main(url=url1, headers=headers, method=method1, data=req_data1, has_token=False)
# 获取短信验证码
url = f"{BMCConfig().host}/v1/user/login/verifyCode/detail"
method = 'post'
req_data = {"phone": "15999099999", "bizType": 1, "horPercent": None, "jtId": None, "bCityCode": "520100",
"bNetTag": "trf_mgt"}
headers = None
phone = req_data['phone']
jtId = res_picture['data']['jtId']
req_data['jtId'] = jtId
horPercent = int(RedisString(0).get(f'bmc:captcha:{jtId}'))
req_data['horPercent'] = horPercent
resList = self.ms.ExecuQuery(f'SELECT * FROM edl_public.user where phone={phone};')
if resList:
user_id = resList[0]['id']
self.ms.ExecuNonQuery(
f'delete from edl_public.user where id={user_id};')
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# 短信验证
message_url = f"{BMCConfig().host}/user/login/verifyCode"
method1 = 'get'
req_data1 = {"bCityCode": "520100", "bizType": "1"}
headers = None
res_picture = request_main(url=url1, headers=headers, method=method1, data=req_data1, has_token=False)
@allure.story("设置手势-登录")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/10974")
@allure.description("/v1/user/login/gesture/setAndLogin")
@allure.title("{inData[testPoint]}")
@pytest.mark.flaky(reruns=1)
@pytest.mark.parametrize("inData", get_excelData(workBook, '账号信息基本功能', 'gesturesetAndLoginRegister'))
def test_ges_ture_set_and_login_register(self, inData):
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
phone = req_data['phone']
if not phone:
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
print(res)
assert res['code'] == expectData['code']
else:
resList = self.ms.ExecuQuery(f'SELECT * FROM edl_public.user where phone={phone};')
if not resList:
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
print(res)
assert res['code'] == expectData['code']
else:
user_id = resList[0]['id']
self.ms.ExecuNonQuery(
f'delete from edl_public.user where id={user_id};')
if __name__ == '__main__': if __name__ == '__main__':
......
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