2017-09-04 3 views
0

J'essaie d'exécuter une fonction de balayage simple pour une application iOS. La fonctionnalité swipe que j'utilise est quelque chose comme ceci:Fonctionnalité de balayage fonctionnant localement mais échoue sur la batterie de périphériques

public static void swipe (AppiumDriver<?> driver, WebElement element, String direction) throws Exception { 
    int startX = element.getLocation().getX(); 
    int startY = element.getLocation().getY(); 
    int endX = element.getLocation().getX(); 
    int endY=element.getLocation().getY(); 

    switch (direction){ 
    case "left": 
     System.out.println(startX); 
     startX += element.getSize().getWidth(); 
     endX = -(element.getSize().getWidth()); 
     break; 
    case "right": 
     startX = 0; 
     endX +=element.getSize().getWidth(); 
     break; 
    case "up": 
     startY += element.getSize().getHeight(); 
     endY = -element.getSize().getHeight(); 
     break; 
    case "down": 
     endY += driver.manage().window().getSize().getHeight(); 
     break; 
    default: 
     throw new Exception("invalid direction, must be left/right/up/down"); 
    } 
    //driver.swipe(startX, startY, endX, endY, 1000); 
new TouchAction(driver).press(startX, startY).waitAction(1000).moveTo(endX, 
     endY).release().perform(); 
    System.out.println(startX +" " + startY+ " " + endX+ " " +endY); 

} 

Les capacités par défaut que je utilise localement sont:

"platformName": "iOS" 
"platformVersion": "10.3" 
"automationName": "Appium" 
"deviceName": "iPhone 7" 

J'ai essayé avec les mêmes capacités souhaitées et son fonctionnement au niveau local bien sur le simulateur. Je courais sur le même dispositif (i dans la batterie de l'appareil.

J'utilise aussi la Appium v1.6.5 localement, ainsi que dans la ferme de l'appareil.

Répondre

2

Ne pas définir vos capacités souhaitées pour ferme de l'appareil. Il ne sera pas les utiliser et dans les choses devraient se produire quand le faire.

https://github.com/awslabs/aws-device-farm-appium-tests-for-sample-app/blob/master/src/test/java/Tests/AbstractBaseTests/TestBase.java#L60

Essayez de ne pas les fixer et voir si cela aide. faites-moi savoir ce qui se passe.

Sincères salutations James

+0

Merci James. Nous avons maintenant été en mesure de comprendre ce qui causait l'échec réel. Nous ne pouvons pas passer du contexte natif au Web pour notre application hybride. Ce serait très utile si vous pouviez jeter un coup d'œil à [this] (https://forums.aws.amazon.com/thread.jspa?threadID=266516). Merci! – Daggerhunt