@@ -557,40 +557,14 @@ Func _WD_Window($sSession, $sCommand, $sOption = '')
557
557
$sResponse = __WD_Get($_WD_BASE_URL & " :" & $_WD_PORT & " /session/" & $sSession & " /" & $sCommand )
558
558
$iErr = @error
559
559
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
-
569
560
Case ' handles'
570
561
$sResponse = __WD_Get($_WD_BASE_URL & " :" & $_WD_PORT & " /session/" & $sSession & " /window/" & $sCommand )
571
562
$iErr = @error
572
563
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
-
582
564
Case ' maximize' , ' minimize' , ' fullscreen'
583
565
$sResponse = __WD_Post($_WD_BASE_URL & " :" & $_WD_PORT & " /session/" & $sSession & " /window/" & $sCommand , $sOption )
584
566
$iErr = @error
585
567
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
-
594
568
Case ' rect'
595
569
If $sOption = ' ' Then
596
570
$sResponse = __WD_Get($_WD_BASE_URL & " :" & $_WD_PORT & " /session/" & $sSession & " /window/" & $sCommand )
@@ -600,78 +574,53 @@ Func _WD_Window($sSession, $sCommand, $sOption = '')
600
574
601
575
$iErr = @error
602
576
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
-
611
577
Case ' screenshot'
612
578
$sResponse = __WD_Get($_WD_BASE_URL & " :" & $_WD_PORT & " /session/" & $sSession & " /" & $sCommand )
613
579
$iErr = @error
614
580
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
-
624
581
Case ' close'
625
582
$sResponse = __WD_Delete($_WD_BASE_URL & " :" & $_WD_PORT & " /session/" & $sSession & " /window" )
626
583
$iErr = @error
627
584
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
-
636
585
Case ' switch'
637
586
$sResponse = __WD_Post($_WD_BASE_URL & " :" & $_WD_PORT & " /session/" & $sSession & " /window" , $sOption )
638
587
$iErr = @error
639
588
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
-
648
589
Case ' frame'
649
590
$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
658
592
659
593
Case ' parent'
660
594
$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
669
596
670
597
Case Else
671
598
Return SetError (__WD_Error($sFuncName , $_WD_ERROR_InvalidDataType , " (Window|Handles|Maximize|Minimize|Fullscreen|Rect|Screenshot|Close|Switch|Frame|Parent) $sCommand=>" & $sCommand ), 0 , " " )
672
599
673
600
EndSwitch
674
601
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
+
675
624
If $_WD_DEBUG = $_WD_DEBUG_Info Then
676
625
ConsoleWrite ($sFuncName & ' : ' & StringLeft ($sResponse , 100 ) & " ..." & @CRLF )
677
626
EndIf
0 commit comments