2017-09-04 69 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

相關問題