2016-06-10 7 views
0

Ich arbeite an einem Testskript, das mit Appium (Selenium) auf Java für mobile Geräte funktioniert. Im Skript gibt es folgende Codes:Appium - Java Action Check

_driver2.swipe(startXL, startYL, endXL, endYL, 100); 

und

_driver2.tap(1, startX, startY, 100); 

Diese Methoden Swipe in einem Spiel auf eine Schaltfläche ein Spiel Objekt oder auf.

Hier sind einige Details: Swiping-Methode verwendet absolute Standorte auf dem Bildschirm. Die Tap-Methode verwendet einen Ort, der von einer Bilderkennungsfunktion berechnet wird.

Hier ist meine Frage: Während der Test läuft; Wenn der Bildschirm des Geräts anders ist als erwartet, wie Push-Benachrichtigungen oder native Dialoge, stoppt der Test nicht und versucht immer noch, ein Bild/einen Ort zu finden und klickt/klickt dann.

Ich möchte es stoppen, wenn es einen anderen Bildschirm als erwartet gibt oder das Spielobjekt nicht verschoben wurde.

Meine Frage ist wahrscheinlich nicht klar, aber ich kann Ihnen Details kommentieren Kommentar geben. Vielen Dank im Voraus.

Antwort

0

Sie eine einfache verwenden können, wenn sonst Bedingung

Wenn das Element gefunden wird {Swipe}

Else

{andere Aktion ausführen}

+0

Danke, aber ich bin nicht Mit 'Element Finder' verwende ich Bilderkennung und bestimmte Orte. –

+0

U kann den Bild-Locator anstelle des Elements –

+0

verwenden Code wird wie wenn Bild gefunden {Skript für Swipe} –

0
Step 1: 
    public boolean isElementFound(String element) 
     { 
      try{ 
      WebElement webElement = driver.findElement(By.xpath(element)); 
      System.out.println("isElementFound : true :"+element); 
     }catch(NoSuchElementException e){ 
      System.out.println("isElementFound : false :"+element); 
      return false; 
     } 
    Step 2 : while(isElementFound(String element)) 
      { 
    TouchAction touchAction = new TouchAction(appiumDriver); 
      System.out.println(startx+" "+starty); 
      System.out.println("Entering swipe"); 

       System.out.println("Swipe from "+startx +" " +starty +"to" +endx +" " +endy); 
       touchAction.press(startx, starty).waitAction(duration).moveTo(endx,endy).release().perform(); 


// WebElement webElement = appiumDriver.findElement(By.xpath(element)); 
      webElement.click(); 

      }