You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
285 lines
16 KiB
285 lines
16 KiB
*** Settings ***
|
|
Library urllib3
|
|
Library String
|
|
Library DateTime
|
|
Library Collections
|
|
Library RequestsLibrary
|
|
Library DatabaseLibrary
|
|
Library OperatingSystem
|
|
Library ImageHorizonLibrary
|
|
|
|
*** 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}
|
|
|
|
生成随机手机号
|
|
${phoneList} Create List
|
|
${phoneList} Create List
|
|
${num} Evaluate random.choice(["139","188","185","136","158","151","132","156","189","187","135","134"]) random
|
|
${number} Evaluate "".join(random.sample("01234567897",8)) random,string
|
|
${phone} Evaluate ${num}${number}
|
|
Append To List ${phoneList} ${phone}
|
|
Set Global Variable ${phoneList}
|
|
|
|
写入数据到txt文件
|
|
${file_path} Set Variable ${EXECDIR}\\Phone.txt
|
|
Append To File ${file_path} ${phone},888888\n
|
|
|
|
游客登录${dating}平台
|
|
#游客登录婚介平台
|
|
Disable Warnings
|
|
Create Session dating ${${dating}.dating域名} ${${dating}.CHeader}
|
|
${reps} GET On Session dating /dating-agency-service/user/get/marriage-information/tourist-recommend
|
|
${message} Get From Dictionary ${reps.json()} message
|
|
Should Be Equal As Strings ${message} successful
|
|
|
|
用户获取${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]}
|
|
Set Global Variable ${captcha}
|
|
Append To List ${captcha_list} ${captcha}
|
|
Disconnect From Database
|
|
END
|
|
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}
|
|
Disconnect From Database
|
|
END
|
|
Set Global Variable ${captcha}
|
|
Set Global Variable ${captcha_list}
|
|
|
|
用户手机号验证码登录${dating}平台
|
|
#用户手机号验证码登录婚介平台
|
|
${userid_list} Create List
|
|
${Cheader_list} Create List
|
|
${Aheader_list} Create List
|
|
FOR ${account} ${captcha} IN ZIP ${id} ${captcha_list}
|
|
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
|
|
${client_header} Set Variable {'Content-Type':'application/json','X-APP-ID':'50325897884795880','Authorization':'QNT ${token}'}
|
|
Append To List ${userid_list} ${userId}
|
|
Append To List ${Cheader_list} ${client_header}
|
|
Append To List ${Aheader_list} ${login_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_list}
|
|
Set Global Variable ${Aheader_list}
|
|
Set Global Variable ${Cheader_list}
|
|
Set Global Variable ${login_header}
|
|
Set Global Variable ${client_header}
|
|
|
|
用户手机号验证码登录${dating}平台-888888
|
|
#用户手机号验证码登录婚介平台
|
|
${userid_list} Create List
|
|
${Cheader_list} Create List
|
|
${Aheader_list} Create List
|
|
${phoneList} Create List
|
|
FOR ${account} IN @{id}
|
|
Disable Warnings
|
|
Create Session dating ${${dating}.dating域名} ${${dating}.AHeader}
|
|
${data} Set Variable { \ \ "account":"${account}", \ \ "accountType":2, \ \ "captcha":888888 } #手机号验证码登录参数
|
|
${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}','X-Organization-Id':'963432943739605555'} #更新header
|
|
${client_header} Set Variable {'Content-Type':'application/json','X-APP-ID':'50325897884795880','Authorization':'QNT ${token}'}
|
|
Append To List ${userid_list} ${userId}
|
|
Append To List ${Cheader_list} ${client_header}
|
|
Append To List ${Aheader_list} ${login_header}
|
|
Append To List ${phoneList} ${account}
|
|
Run Keyword If ${code}==0 Should Be Equal As Strings ${message} successful
|
|
... ELSE Should Be Equal As Strings ${message} 验证码错误或无效验证码,请重试!
|
|
END
|
|
Set Global Variable ${phoneList}
|
|
Set Global Variable ${userid_list}
|
|
Set Global Variable ${Aheader_list}
|
|
Set Global Variable ${Cheader_list}
|
|
Set Global Variable ${login_header}
|
|
Set Global Variable ${client_header}
|
|
|
|
用户手机号验证码登录${dating}平台-phone
|
|
#用户手机号验证码登录婚介平台
|
|
${userid_list} Create List
|
|
${Cheader_list} Create List
|
|
${Aheader_list} Create List
|
|
${phoneList} Create List
|
|
Disable Warnings
|
|
FOR ${phone} IN @{phoneList}
|
|
Create Session dating ${${dating}.dating域名} ${${dating}.AHeader}
|
|
${data} Set Variable { \ \ "account":"${phone}", \ \ "accountType":2, \ \ "captcha":888888 } #手机号验证码登录参数
|
|
${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}','X-Organization-Id':'963432943739605555'} #更新header
|
|
${client_header} Set Variable {'Content-Type':'application/json','X-APP-ID':'50325897884795880','Authorization':'QNT ${token}'}
|
|
Append To List ${userid_list} ${userId}
|
|
Append To List ${Cheader_list} ${client_header}
|
|
Append To List ${Aheader_list} ${login_header}
|
|
Append To List ${phoneList} ${phone}
|
|
Run Keyword If ${code}==0 Should Be Equal As Strings ${message} successful
|
|
... ELSE Should Be Equal As Strings ${message} 验证码错误或无效验证码,请重试!
|
|
END
|
|
Set Global Variable ${phoneList}
|
|
Set Global Variable ${userid_list}
|
|
Set Global Variable ${Aheader_list}
|
|
Set Global Variable ${Cheader_list}
|
|
Set Global Variable ${login_header}
|
|
Set Global Variable ${client_header}
|
|
|
|
用户手机号错误验证码登录${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 #获取相应状态码
|
|
${message} Get From Dictionary ${reps.json()} message
|
|
Run Keyword If ${code}==0 Should Be Equal As Strings ${message} successful
|
|
... ELSE Should Be Equal As Strings ${message} 验证码错误或无效验证码,请重试!
|
|
END
|
|
|
|
查询用户的${dating}组织
|
|
#查询用户在婚介的组织数据
|
|
${Aheader} Create List
|
|
FOR ${userId} ${login_header} IN ZIP ${userid_list} ${Aheader_list}
|
|
Disable Warnings
|
|
Create Session dating ${${dating}.dating域名} ${login_header}
|
|
${reps} GET On Session dating /dating-agency-uec/user/list/own-organization params=userId=${userid}
|
|
${data} Get From Dictionary ${reps.json()} data #获取用户组织数据
|
|
${message} Get From Dictionary ${reps.json()} message
|
|
Should Be Equal As Strings ${message} successful
|
|
Run Keyword If ${data}==[] log 未获取到组织信息!
|
|
... ELSE log ${data}
|
|
END
|
|
|
|
获取${dating}平台用户baseinfo
|
|
#获取baseinfo
|
|
FOR ${admin_header} IN @{Aheader_list}
|
|
Create Session dating ${${dating}.dating域名} ${admin_header}
|
|
${reps} GET On Session dating dating-agency-uec/user/get/base-info
|
|
${phone} Get From Dictionary ${reps.json()['data']} phone #登录用户手机号
|
|
${matchmakerFlag} Get From Dictionary ${reps.json()['data']} matchmakerFlag #登录用户是否是红娘
|
|
END
|
|
Set Global Variable ${phone}
|
|
Set Global Variable ${matchmakerFlag}
|
|
|
|
扫描${dating}红娘二维码
|
|
#解析二维码图片
|
|
#${filepath} Evaluate open('./matchmaker.png','rb')
|
|
FOR ${client_header} IN @{Cheader_list}
|
|
Create Session dating ${${dating}.dating域名} ${client_header}
|
|
${reps} GET On Session dating dating-agency-uec/user/verify/qrcode params=&qrCodeRecordId=972626840957095936
|
|
${code} Get From Dictionary ${reps.json()} code
|
|
END
|
|
|
|
获取${dating}平台用户baseinfo并判断是否是红娘
|
|
#获取baseinfo
|
|
FOR ${admin_header} IN @{Aheader_list}
|
|
Create Session dating ${${dating}.dating域名} ${admin_header}
|
|
${reps} GET On Session dating dating-agency-uec/user/get/base-info
|
|
${phone} Get From Dictionary ${reps.json()['data']} phone #登录用户手机号
|
|
${matchmakerFlag} Get From Dictionary ${reps.json()['data']} matchmakerFlag #登录用户是否是红娘
|
|
Run Keyword If ${matchmakerFlag}==False 注册婚介红娘
|
|
... ELSE 查询婚介平台红娘列表
|
|
END
|
|
Set Global Variable ${phone}
|
|
Set Global Variable ${matchmakerFlag}
|
|
|
|
注册${dating}红娘
|
|
#注册成为红娘
|
|
FOR ${client_header} IN @{Cheader_list}
|
|
Create Session dating ${${dating}.dating域名} ${client_header}
|
|
${reps} POST On Session dating dating-agency-uec/user/create/matchmaker
|
|
${matchmakerId} Get From Dictionary ${reps.json()} data
|
|
${message} Get From Dictionary ${reps.json()} message
|
|
Should Be Equal As Strings ${message} successful
|
|
END
|
|
|
|
查询${dating}平台红娘列表
|
|
FOR ${admin_header} IN @{Aheader_list}
|
|
Create Session dating ${${dating}.dating域名} ${admin_header}
|
|
${reps} GET On Session dating dating-agency-uec/user/page/matchmaker params=pageSize=10&pageNum=1
|
|
${matchmaker_list} Get From Dictionary ${reps.json()['data']} records #红娘列表
|
|
Set Global Variable ${matchmaker_list}
|
|
红娘列表
|
|
END
|
|
|
|
红娘列表
|
|
FOR ${matchmaker} IN @{matchmaker_list}
|
|
${PhoneNum} Get From Dictionary ${matchmaker} phone
|
|
Exit For Loop If ${PhoneNum}==${phone}
|
|
END
|
|
Set Global Variable ${PhoneNum}
|
|
|
|
数据库删除用户数据
|
|
FOR ${userId} IN @{userid_list}
|
|
Connect To Database Using Custom Params pymysql database='dating_agency_uec',user='root',password='qniaothreetwoonego',host='8.135.8.221'
|
|
${update_account} Execute Sql String UPDATE da_account \ SET is_delete=1 WHERE user_id='${userId}'
|
|
${update_user} Execute Sql String UPDATE da_user \ SET is_delete=1 WHERE id='${userId}'
|
|
Disconnect From Database
|
|
END
|
|
|
|
创建一个列表
|
|
${result} Create List 4 5 6
|
|
${pid_list} Create List 7 8 9
|
|
Set Global Variable ${result}
|
|
Set Global Variable ${pid_list}
|
|
|
|
同时执行多个参数的FOR循环
|
|
${id-list} Create List 1 2
|
|
FOR ${id} ${pid} ${i} IN ZIP ${id-list} ${pid_list} ${result}
|
|
${data} Set Variable { \ \ \ \ "id": "${id}", \ \ \ \ "result": "${i}", \ \ \ \ "pid": "${pid}" }
|
|
END
|
|
${tempdir} Set Variable ${EXECDIR} #获取脚本执行路径
|
|
|
|
FOR循环
|
|
${L1} Create List {'c':3}
|
|
FOR ${i} IN @{L1}
|
|
${output} Set Variable {'item':${data}}
|
|
END
|