Func LoginTest($Tester,$TesterPWD)
$Original=GetRecordCount("Select * from UserLoginLog where phonenumber="&$Tester)
$OIE = _IECreate($testURL,0,1,1,0)
$doc = _IEDocGetObj($OIE)
$title=$doc.title
;WinSetState($title,"",@SW_MAXIMIZE)
;WinActivate($title,"")
;Send("!+{SPACE}+X")
_IEPropertySet ($OIE, "left",0)
_IEPropertySet ($OIE, "top",0)
_IEPropertySet ($OIE, "height",@DesktopHeight-30)
_IEPropertySet ($OIE, "width",@DesktopWidth)
_IELoadWait($OIE)
Local $Login=_IELinkClickByText($OIE,"登录")
While Not $isobj
If $timer>=3 Then
WriteToFile($LogPath,"找不到输入框,有可能是上一个用户没有正常退出")
$test= CaptureScreen($ImagePath,"LoginError"&$Tester)
SetError("2")
ExitLoop
EndIf
$timer+=1
Local $Inputname = _IEGetObjByName($OIE,"txtPhoneNum")
Local $Inputpassword = _IEGetObjByName($OIE,"txtPassword")
If Not IsObj($Inputname)Or Not IsObj($Inputpassword) Then
Sleep(2000)
Else
$isobj=True
$Inputname.value=$Tester
$Inputpassword.value=$TesterPWD
EndIf
WEnd
$timer=0
$isobj=False
Local $Inputcheck= _IEGetObjByName($OIE,"txtRadomPicCode")
If Not IsObj($Inputcheck) Then
$spans=_IETagNameGetCollection($OIE,"span")
if $spans(0).innertext==("用户"&$Tester) Then
SetError("5")
Else
$test= CaptureScreen($ImagePath,"CheckCodeError"&$Tester)
SetError("4")
EndIf
Else
$checkCode=InputBox("提示","请输入验证码:")
$Inputcheck.value=$checkCode
Local $btn= _IEGetObjByName($OIE,"btnSubmitLogin")
_IEAction($btn,"Click")
_IELoadWait($OIE)
Sleep(2000)
Local $Loginwrap = _IEGetObjById($OIE,"Loginwrap")
_IELoadWait($OIE)
If Not IsObj($Loginwrap) Then
$spans=_IETagNameGetCollection($OIE,"span")
if $spans(0).innertext==("用户"&$Tester) Then
SetError("1")
Else
$test= CaptureScreen($ImagePath,"LoginError"&$Tester)
SetError("3")
EndIf
Else
$test= CaptureScreen($ImagePath,"LoginError"&$Tester)
SetError("3")
EndIf
EndIf
Switch @error
Case 1
$result="成功"
Case 2
$result="登录框上的按钮不见啦"
Case 3
$result="抱歉,登录失败"
Case 4
$result="登录时,验证码输入框不存在"
Case 5
$result="用户已经登录了"
Case Else
$result="未定义的错误"
EndSwitch
$new = GetRecordCount("Select * from UserLoginLog where phonenumber="&$Tester)
If $new<=$Original Then
$result=$result&",没有记录
数据库日志"
Else
$result=$result&",记录了数据库日志"
EndIf
WriteToFile($LogPath,"
测试号码是:"&$Tester&"密码是:"&$TesterPWD&"结果为:"&$result)
$IsClose=_IEQuit($OIE)
If $IsClose<>1 Then
$test= CaptureScreen($ImagePath,"quitIEError"&$Tester)
ProcessClose($OIE)
EndIf
Return $result
EndFunc