*** 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} 生成随机手机号 ${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} Set Global Variable ${phone} 游客登录${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 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} Run Keyword If ${code}==0 Should Be Equal As Strings ${message} successful ... ELSE Should Be Equal As Strings ${message} 验证码错误或无效验证码,请重试! END ${phone} Set Variable ${account} Set Global Variable ${phone} 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 Disable Warnings 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} Run Keyword If ${code}==0 Should Be Equal As Strings ${message} successful ... ELSE Should Be Equal As Strings ${message} 验证码错误或无效验证码,请重试! 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 数据库删除用户数据 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