Skip to content

Commit f93e5f5

Browse files
committed
Simplify _WD_Window coding
1 parent 9c12512 commit f93e5f5

File tree

1 file changed

+24
-75
lines changed

1 file changed

+24
-75
lines changed

wd_core.au3

Lines changed: 24 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -557,40 +557,14 @@ Func _WD_Window($sSession, $sCommand, $sOption = '')
557557
$sResponse = __WD_Get($_WD_BASE_URL & ":" & $_WD_PORT & "/session/" & $sSession & "/" & $sCommand)
558558
$iErr = @error
559559

560-
If $iErr = $_WD_ERROR_Success Then
561-
If $_WD_HTTPRESULT = $HTTP_STATUS_OK Then
562-
$sJSON = Json_Decode($sResponse)
563-
$sResult = Json_Get($sJSON, "[value]")
564-
Else
565-
$iErr = $_WD_ERROR_Exception
566-
EndIf
567-
EndIf
568-
569560
Case 'handles'
570561
$sResponse = __WD_Get($_WD_BASE_URL & ":" & $_WD_PORT & "/session/" & $sSession & "/window/" & $sCommand)
571562
$iErr = @error
572563

573-
If $iErr = $_WD_ERROR_Success Then
574-
If $_WD_HTTPRESULT = $HTTP_STATUS_OK Then
575-
$sJSON = Json_Decode($sResponse)
576-
$sResult = Json_Get($sJSON, "[value]")
577-
Else
578-
$iErr = $_WD_ERROR_Exception
579-
EndIf
580-
EndIf
581-
582564
Case 'maximize', 'minimize', 'fullscreen'
583565
$sResponse = __WD_Post($_WD_BASE_URL & ":" & $_WD_PORT & "/session/" & $sSession & "/window/" & $sCommand, $sOption)
584566
$iErr = @error
585567

586-
If $iErr = $_WD_ERROR_Success Then
587-
If $_WD_HTTPRESULT = $HTTP_STATUS_OK Then
588-
$sResult = $sResponse
589-
Else
590-
$iErr = $_WD_ERROR_Exception
591-
EndIf
592-
EndIf
593-
594568
Case 'rect'
595569
If $sOption = '' Then
596570
$sResponse = __WD_Get($_WD_BASE_URL & ":" & $_WD_PORT & "/session/" & $sSession & "/window/" & $sCommand)
@@ -600,78 +574,53 @@ Func _WD_Window($sSession, $sCommand, $sOption = '')
600574

601575
$iErr = @error
602576

603-
If $iErr = $_WD_ERROR_Success Then
604-
If $_WD_HTTPRESULT = $HTTP_STATUS_OK Then
605-
$sResult = $sResponse
606-
Else
607-
$iErr = $_WD_ERROR_Exception
608-
EndIf
609-
EndIf
610-
611577
Case 'screenshot'
612578
$sResponse = __WD_Get($_WD_BASE_URL & ":" & $_WD_PORT & "/session/" & $sSession & "/" & $sCommand)
613579
$iErr = @error
614580

615-
If $iErr = $_WD_ERROR_Success Then
616-
If $_WD_HTTPRESULT = $HTTP_STATUS_OK Then
617-
$sJSON = Json_Decode($sResponse)
618-
$sResult = Json_Get($sJSON, "[value]")
619-
Else
620-
$iErr = $_WD_ERROR_Exception
621-
EndIf
622-
EndIf
623-
624581
Case 'close'
625582
$sResponse = __WD_Delete($_WD_BASE_URL & ":" & $_WD_PORT & "/session/" & $sSession & "/window")
626583
$iErr = @error
627584

628-
If $iErr = $_WD_ERROR_Success Then
629-
If $_WD_HTTPRESULT = $HTTP_STATUS_OK Then
630-
$sResult = $sResponse
631-
Else
632-
$iErr = $_WD_ERROR_Exception
633-
EndIf
634-
EndIf
635-
636585
Case 'switch'
637586
$sResponse = __WD_Post($_WD_BASE_URL & ":" & $_WD_PORT & "/session/" & $sSession & "/window", $sOption)
638587
$iErr = @error
639588

640-
If $iErr = $_WD_ERROR_Success Then
641-
If $_WD_HTTPRESULT = $HTTP_STATUS_OK Then
642-
$sResult = $sResponse
643-
Else
644-
$iErr = $_WD_ERROR_Exception
645-
EndIf
646-
EndIf
647-
648589
Case 'frame'
649590
$sResponse = __WD_Post($_WD_BASE_URL & ":" & $_WD_PORT & "/session/" & $sSession & "/frame", $sOption)
650-
651-
If $iErr = $_WD_ERROR_Success Then
652-
If $_WD_HTTPRESULT = $HTTP_STATUS_OK Then
653-
$sResult = $sResponse
654-
Else
655-
$iErr = $_WD_ERROR_Exception
656-
EndIf
657-
EndIf
591+
$iErr = @error
658592

659593
Case 'parent'
660594
$sResponse = __WD_Post($_WD_BASE_URL & ":" & $_WD_PORT & "/session/" & $sSession & "/frame/parent", $sOption)
661-
662-
If $iErr = $_WD_ERROR_Success Then
663-
If $_WD_HTTPRESULT = $HTTP_STATUS_OK Then
664-
$sResult = $sResponse
665-
Else
666-
$iErr = $_WD_ERROR_Exception
667-
EndIf
668-
EndIf
595+
$iErr = @error
669596

670597
Case Else
671598
Return SetError(__WD_Error($sFuncName, $_WD_ERROR_InvalidDataType, "(Window|Handles|Maximize|Minimize|Fullscreen|Rect|Screenshot|Close|Switch|Frame|Parent) $sCommand=>" & $sCommand), 0, "")
672599

673600
EndSwitch
674601

602+
If $iErr = $_WD_ERROR_Success Then
603+
If $_WD_HTTPRESULT = $HTTP_STATUS_OK Then
604+
605+
Switch $sCommand
606+
Case 'maximize', 'minimize', 'fullscreen', 'close', 'switch', 'frame', 'parent'
607+
$sResult = $sResponse
608+
609+
Case Else
610+
$oJson = Json_Decode($sResponse)
611+
$sResult = Json_Get($oJson, "[value]")
612+
EndSwitch
613+
614+
ElseIf $_WD_HTTPRESULT = $HTTP_STATUS_NOT_FOUND Then
615+
$oJson = Json_Decode($sResponse)
616+
$sErr = Json_Get($oJson, "[value][error]")
617+
$iErr = ($sErr == $WD_Element_Stale) ? $_WD_ERROR_NoMatch : $_WD_ERROR_Exception
618+
619+
Else
620+
$iErr = $_WD_ERROR_Exception
621+
EndIf
622+
EndIf
623+
675624
If $_WD_DEBUG = $_WD_DEBUG_Info Then
676625
ConsoleWrite($sFuncName & ': ' & StringLeft($sResponse, 100) & "..." & @CRLF)
677626
EndIf

0 commit comments

Comments
 (0)