纯在rf上写的自动生成身份证号码

log    进入获取T+N天的日期
${date}    Evaluate    datetime.date.today()-datetime.timedelta(days=1)    datetime
${DATE}    Evaluate    '''${date}'''.replace('-','')
log    完成获取T+N天的日期
log    进行自动生成18位身份证号码
Comment    ${DATE}    获取N天前的日期    -1
${Value}    Evaluate    int(18)+1       # 通过调整${Value}可以任意生成指定出生年份的身份证号码
${Birthday}    Evaluate    int(${DATE})-${Value}0000
${list}    Evaluate    list(str(${Birthday}))
${CODE_A}    Set Variable    4
${CODE_B}    Set Variable    4
${CODE_C}    Set Variable    0
${CODE_D}    Set Variable    3
${CODE_E}    Set Variable    0
${CODE_F}    Set Variable    0
${CODE_Y1}    Set Variable    ${list[0]}
${CODE_Y2}    Set Variable    ${list[1]}
${CODE_M1}    Set Variable    ${list[4]}
${CODE_X1}    Set Variable    0
${CODE_Y3}=    Set Variable    ${list[2]}
${CODE_Y4}=    Set Variable    ${list[3]}
${CODE_M2}=    Set Variable    ${list[5]}
${CODE_D1}=    Set Variable    ${list[6]}
${CODE_D2}=    Set Variable    ${list[7]}
${CODE_X2}=    evaluate    random.randint(0,9)    random,sys
${CODE_X3}=    evaluate    random.randint(0,9)    random,sys
${S}=    evaluate    ${CODE_A}*7+${CODE_B}*9+${CODE_C}*10+${CODE_D}*5+${CODE_E}*8+${CODE_F}*4+${CODE_Y1}*2+ ${CODE_Y2}*1+ ${CODE_Y3}*6 +${CODE_Y4}*3+ ${CODE_M1}*7+ ${CODE_M2}*9+${CODE_D1}*10+${CODE_D2}*5+${CODE_X1}*8+${CODE_X2}*4+${CODE_X3}*2
${YS}=    evaluate    ${S}%11
${C0DE_18}=    Set Variable If    ${YS}==0    1    ${YS}==1    0    ${YS}==2    X    ${YS}==3    9    ${YS}==4    8    ${YS}==5    7    ${YS}==6    6    ${YS}==7    5    ${YS}==8    4    ${YS}==9    3    ${YS}==10    2
${ID_CODE}    evaluate    str(${CODE_A})+str(${CODE_B})+str(${CODE_C})+str(${CODE_D})+str(${CODE_E})+str(${CODE_F})+str(${CODE_Y1})+str(${CODE_Y2})+str(${CODE_Y3})+str(${CODE_Y4})+str(${CODE_M1})+str(${CODE_M2})+str(${CODE_D1})+str(${CODE_D2})+str(${CODE_X1})+str(${CODE_X2})+str(${CODE_X3})+str('${C0DE_18}')
Set Test Variable    ${ID_CODE}
log    完成自动生成18位身份证号码

#################### 随机生成0-18岁之间的身份证号码 #########################

log    进入获取当前日期之后200天中任意一天日期
${list}    Create List
:FOR    ${i}    IN RANGE    1    200
    ${date}    Evaluate    datetime.date.today()-datetime.timedelta(days=-${i})    datetime
    ${DATE}    Evaluate    '''${date}'''.replace('-','')
    Append To List    ${list}    ${DATE}
${DATE}    Evaluate    random.choice(@{list})    random,sys
log    完成获取T+N天的日期
log    进行自动生成18位身份证号码
${Birthday}    Evaluate    int(${DATE})-180000
${list}    Evaluate    list(str(${Birthday}))
${yyyy}    Evaluate    int(${list[0]}${list[1]}${list[3]}${list[4]})
${yyyy}    Evaluate    random.randint(${yyyy},${yyyy}+18)    random,sys
${list1}    Evaluate    list(str(${yyyy}))
${CODE_A}    Set Variable    4
${CODE_B}    Set Variable    4
${CODE_C}    Set Variable    0
${CODE_D}    Set Variable    3
${CODE_E}    Set Variable    0
${CODE_F}    Set Variable    0
${CODE_Y1}    Set Variable    ${list1[0]}
${CODE_Y2}    Set Variable    ${list1[1]}
${CODE_M1}    Set Variable    ${list[4]}
${CODE_X1}    Set Variable    0
${CODE_Y3}=    Set Variable    ${list1[2]}
${CODE_Y4}=    Set Variable    ${list1[3]}
${CODE_M2}=    Set Variable    ${list[5]}
${CODE_D1}=    Set Variable    ${list[6]}
${CODE_D2}=    Set Variable    ${list[7]}
${CODE_X2}=    evaluate    random.randint(0,9)    random,sys
${CODE_X3}=    evaluate    random.randint(0,9)    random,sys
${S}=    evaluate    ${CODE_A}*7+${CODE_B}*9+${CODE_C}*10+${CODE_D}*5+${CODE_E}*8+${CODE_F}*4+${CODE_Y1}*2+ ${CODE_Y2}*1+ ${CODE_Y3}*6 +${CODE_Y4}*3+ ${CODE_M1}*7+ ${CODE_M2}*9+${CODE_D1}*10+${CODE_D2}*5+${CODE_X1}*8+${CODE_X2}*4+${CODE_X3}*2
${YS}=    evaluate    ${S}%11
${C0DE_18}=    Set Variable If    ${YS}==0    1    ${YS}==1    0    ${YS}==2    X    ${YS}==3    9    ${YS}==4    8    ${YS}==5    7    ${YS}==6    6    ${YS}==7    5    ${YS}==8    4    ${YS}==9    3    ${YS}==10    2
${ID_CODE}    evaluate    str(${CODE_A})+str(${CODE_B})+str(${CODE_C})+str(${CODE_D})+str(${CODE_E})+str(${CODE_F})+str(${CODE_Y1})+str(${CODE_Y2})+str(${CODE_Y3})+str(${CODE_Y4})+str(${CODE_M1})+str(${CODE_M2})+str(${CODE_D1})+str(${CODE_D2})+str(${CODE_X1})+str(${CODE_X2})+str(${CODE_X3})+str('${C0DE_18}')
Set Test Variable    ${ID_CODE}
log    完成自动生成18位身份证号码

猜你喜欢

转载自blog.csdn.net/qq_41030861/article/details/83417079