Browse Source

接口:手机验证码登录认证

master
LG_lai 2 years ago
parent
commit
e18aa90723
11 changed files with 146 additions and 40 deletions
  1. 2
      DA_data.yaml
  2. 10
      Login/DA_data.yaml
  3. 20
      Login/Login-interface.robot
  4. 2
      Login/phone-test.txt
  5. 92
      Login/resource.robot
  6. 2
      LoginUI/Login.robot
  7. 0
      LoginUI/LoginResource.robot
  8. 0
      LoginUI/__init__.robot
  9. 5
      WriteInfo/DA_data.yaml
  10. 23
      WriteInfo/InfoResource.robot
  11. 30
      WriteInfo/Infomation.robot

2
DA_data.yaml

@ -1,6 +1,6 @@
婚介:
UEC域名: http://dating-agency-api-test.qniao.cn
Header: {'Content-Type':'application/json','X-APP-ID':'50325897884795880'}
Header: {'Content-Type':'application/json','X-APP-ID':'50325897884795880','Authorization':'iHP4V/g6O5DXHixyNrf7tqm9NQUY2iykUwyijwv+6CYAmPXOz5yLZBPGAo6w2T84i0dM06R0EX8AG62EJziGfg=='}
Admin_Header: {'Content-Type':'application/json','X-APP-ID':'50325897884795880'}

10
Login/DA_data.yaml

@ -0,0 +1,10 @@
婚介:
dating域名: https://dating-agency-api-test.qniao.cn
Client域名:
CHeader: {'Content-Type':'application/json','X-APP-ID':'50325897884795880'}
AHeader: {'Content-Type':'application/json','X-APP-ID':'50325897884795881'}
用户:
手机号: 15014242835
验证码: 888888

20
Login/Login-interface.robot

@ -0,0 +1,20 @@
*** Settings ***
Documentation 接口:短信验证码登录认证
Suite Setup Import Variables ${CURDIR}\\DA_data.yaml
Resource resource.robot
*** Test Cases ***
手机号验证码登录
#登录婚介平台
Given 读取TXT文件
When 用户获取婚介平台短信验证码
Then 数据库查询用户生效且未过期的验证码
And 用户手机号验证码登录婚介平台
And 查询用户的婚介组织
手机号验证码已过期登录
#验证码已过期
Given 读取TXT文件
When 用户获取婚介平台短信验证码
Then 数据库查询用户生效且已过期的验证码
And 用户手机号验证码登录婚介平台

2
Login/phone-test.txt

@ -0,0 +1,2 @@
手机号
19128859944

92
Login/resource.robot

@ -0,0 +1,92 @@
*** Settings ***
Library urllib3
Library String
Library DateTime
Library Collections
Library RequestsLibrary
Library DatabaseLibrary
Library OperatingSystem
*** Keywords ***
读取TXT文件
#读取TXT文件
${file} Get File ${CURDIR}\\phone-test.txt #读取文件
${skip-line} Set Variable 1 #跳过第一行
${lines} Set Variable -1 #读取整个文件,从第二行开始
${content} Get Lines Containing String ${file} ${skip-line} ${lines}
FOR ${id} IN ${content}
${id} String.Split String ${id} \n
END
Set Global Variable ${id}
用户获取${dating}平台短信验证码
#用户获取婚介平台短信验证码
Disable Warnings
FOR ${account} IN @{id}
Create Session dating ${${dating}.dating域名} ${${dating}.AHeader}
${data} Set Variable { \ \ \ \ "purpose": 1, \ \ \ \ "verifiableAccount": "${account}", \ \ \ \ "verifiableAccountType": 1 } #获取短信验证码请求参数
${reps} POST On Session dating /dating-agency-uec/authorize/get/auth-captcha ${data.encode('utf-8')}
${message} Get From Dictionary ${reps.json()} message #获取接口相应的message
END
Should Be Equal As Strings ${message} successful #断言是否相等
Sleep 2
数据库查询用户生效且未过期的验证码
#数据库中查询手机号验证码
${captcha_list} Create List
FOR ${account} IN @{id}
${Time} Get Current Date result_format=%Y-%m-%d %H:%M:%S
Connect To Database Using Custom Params pymysql database='dating-agency-uec',user='root',password='qniaothreetwoonego',host='8.135.8.221'
${check} Query SELECT code FROM da_captcha WHERE verifiable_account = '${account}' AND status = 1 AND is_delete = 0 AND expired_time > '${Time}' #查询手机号获取的验证码
${captcha} Set Variable ${check[0][0]}
Append To List ${captcha_list} ${captcha}
END
Disconnect From Database
Set Global Variable ${captcha}
Set Global Variable ${captcha_list}
数据库查询用户生效且已过期的验证码
#数据库中查询手机号验证码
${captcha_list} Create List
FOR ${account} IN @{id}
${Time} Get Current Date result_format=%Y-%m-%d %H:%M:%S
Connect To Database Using Custom Params pymysql database='dating-agency-uec',user='root',password='qniaothreetwoonego',host='8.135.8.221'
${check} Query SELECT code FROM da_captcha WHERE verifiable_account = '${account}' AND status = 1 AND is_delete = 0 AND expired_time < '${Time}' #查询手机号获取的验证码
${captcha} Set Variable ${check[0][0]}
Append To List ${captcha_list} ${captcha}
END
Disconnect From Database
Set Global Variable ${captcha}
Set Global Variable ${captcha_list}
依次获取验证码
#多用户时依次获取对应的验证码
FOR ${captcha} IN @{captcha_list}
Set Global Variable ${captcha}
END
用户手机号验证码登录${dating}平台
#用户手机号验证码登录婚介平台
FOR ${account} IN @{id}
Disable Warnings
Create Session dating ${${dating}.dating域名} ${${dating}.AHeader}
${data} Set Variable { \ \ "account":"${account}", \ \ "accountType":2, \ \ "captcha":"${captcha}" } #手机号验证码登录参数
${reps} POST On Session dating /dating-agency-uec/authorize/by-captcha ${data.encode('utf-8')}
${code} Get From Dictionary ${reps.json()} code #获取相应状态码
${token} Get From Dictionary ${reps.json()['data']} token #获取token
${userId} Get From Dictionary ${reps.json()['data']} userId #获取用户id
${message} Get From Dictionary ${reps.json()} message
${login_header} Set Variable {'Content-Type':'application/json','X-APP-ID':'50325897884795881','Authorization':'QNT ${token}'} #更新header
Run Keyword If ${code}==0 Should Be Equal As Strings ${message} successful
... ELSE Should Be Equal As Strings ${message} 验证码错误或无效验证码,请重试!
END
Set Global Variable ${userId}
Set Global Variable ${login_header}
查询用户的${dating}组织
#查询用户在婚介的组织数据
Disable Warnings
Create Session dating ${${dating}.dating域名} ${login_header}
${reps} GET On Session dating /dating-agency-uec/user/list/own-organization params=userId=${userid}
${message} Get From Dictionary ${reps.json()} message
Should Be Equal As Strings ${message} successful

Login/Login.robot → LoginUI/Login.robot

@ -21,4 +21,4 @@ WLogin
open
Given 读取TXT文件
Then 数据库操作
#Then 数据库操作

Login/LoginResource.robot → LoginUI/LoginResource.robot

Login/__init__.robot → LoginUI/__init__.robot

5
WriteInfo/DA_data.yaml

@ -1,7 +1,8 @@
婚介:
UEC域名: https://dating-agency-api-test.qniao.cn
dating域名: https://dating-agency-api-test.qniao.cn
Client域名:
Header: {'Content-Type':'application/json','X-APP-ID':'50325897884795880'}
CHeader: {'Content-Type':'application/json','X-APP-ID':'50325897884795880'}
AHeader: {'Content-Type':'application/json','X-APP-ID':'50325897884795881'}

23
WriteInfo/InfoResource.robot

@ -12,8 +12,9 @@ Library OperatingSystem
用户首次填写${dating}资料
Disable Warnings
#获取首次婚介资料信息
Import Variables ${CURDIR}\\DA_data.yaml
Create Session dating ${${dating}.UEC域名} ${${dating}.Header}
${reps} GET On Session dating /dating-agency-service/user/get/first/fill/marriage/information/details params=userId=808374438260248576
${reps} GET On Session dating /dating-agency-service/user/get/first/fill/marriage/information/details params=userId=8576
${Data} Get From Dictionary ${reps.json()} data
log ${Data}
${id} Get From Dictionary ${reps.json()['data']} id #资料id
@ -31,7 +32,6 @@ Library OperatingSystem
${educationCode} Get From Dictionary ${reps.json()['data']} educationCode #证婚人学历编码
${fillSerialNumber} Get From Dictionary ${reps.json()['data']} fillSerialNumber #资料填写序号
${maritalStatusCode} Get From Dictionary ${reps.json()['data']} maritalStatusCode #证婚人婚姻状况,0:未婚,1:离异,2:丧偶的 0:未婚,1:离异,2:丧偶的
#${Information} Create Dictionary
Set Global Variable ${id}
Set Global Variable ${Data}
Set Global Variable ${height}
@ -218,19 +218,8 @@ Library OperatingSystem
${id} Get From Dictionary ${reps.json()} data
Should Be Equal ${id} ${DataId}
返回上一步
测试${dating}资料填写
#选择性别
查询首次填写的${dating}资料信息
#获取用户首次填写的资料
Create Session dating ${${dating}.UEC域名} ${${dating}.Header}
${sex_data} Evaluate 1
${data} Set Variable {"id":null,"fillSerialNumber":0,"genderCode":1}
${reps} POST On Session dating dating-agency-service/user/save/first/fill/marriage/Information ${data.encode('utf-8')}
${id} Get From Dictionary ${reps.json()} data
#选择城市
${city_data} Set Variable { \ \ \ \ "id": "${id}", \ \ \ \ "fillSerialNumber": 1, \ \ \ \ "provinceCode": 440000, \ \ \ \ "provinceName": "广东省", \ \ \ \ "cityCode": 440100, \ \ \ \ "cityName": "广州市", \ \ \ \ "districtCode": 440106, \ \ \ \ "districtName": "天河区" }
${reps} POST On Session dating dating-agency-service/user/save/first/fill/marriage/Information ${city_data.encode('utf-8')}
sleep 2
#获取首次婚介资料信息
${reps} GET On Session dating dating-agency-service/user/get/first/fill/marriage/information/details params=userId=808374438260248576
log ${reps.json()['data']}
${reps} GET On Session dating /dating-agency-service/user/get/first/fill/marriage/information/details params=userId=8576
${}

30
WriteInfo/Infomation.robot

@ -6,16 +6,16 @@ Library Collections
Library RequestsLibrary
*** Test Cases ***
Info
Given 用户打开小程序
Then 选择${dating}性别资料
And 选择${dating}证婚人的城市
And 选择${dating}征婚人的出生年份
And 选择${dating}征婚人的身高
And 选择${dating}征婚人的学历
And 选择${dating}征婚人的婚姻状况
And 月收入
And 选择${dating}征婚人的昵称
WritebaseInfo
Given 用户首次填写婚介资料
Then 选择婚介性别资料
And 选择婚介征婚人的城市
And 选择婚介征婚人的出生年份
And 选择婚介征婚人的身高
And 选择婚介征婚人的学历
And 选择婚介征婚人的婚姻状况
And 选择婚介征婚人的婚姻状况
And 选择婚介征婚人的昵称
sex_info
#选择性别
@ -94,12 +94,4 @@ region
Set Global Variable ${provinceName}
test
Given 用户首次填写婚介资料
Then 选择婚介性别资料
And 选择婚介征婚人的城市
And 选择婚介征婚人的出生年份
And 选择婚介征婚人的身高
And 选择婚介征婚人的学历
And 选择婚介征婚人的婚姻状况
And 选择婚介征婚人的婚姻状况
And 选择婚介征婚人的昵称
查询首次填写的婚介资料信息
Loading…
Cancel
Save