2017-09-04 63 views
0

我正在尝试为iOS应用运行简单的刷卡功能。我使用的刷卡功能是这样的:刷卡功能在本地工作,但在设备场中失败

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); 

} 

我使用的是本地的默认功能是:

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

我曾尝试与本地相同的期望的能力和工作在模拟器上罚款。我运行它在同一台设备上(我的设备农场。

我也使用Appium v​​1.6.5本地以及设备的农场中。

回答

2

不要为设置所需的能力设备农场。它不会使用它们,预期的事情发生这样做的时候。

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

尽量不要设置,看看他们是否有帮助。让我知道发生了什么。

致以问候 James

+0

谢谢詹姆斯。我们现在已经能够理解导致实际失败的原因。对于我们的混合应用程序,我们无法从本地切换到网络。如果你可以看看[this](https://forums.aws.amazon.com/thread.jspa?threadID=266516),这会非常有帮助。 谢谢! – Daggerhunt

相关问题