TouchAction для проведения не работает iOS Simulator - Appium Java - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь сделать некоторые UITests с Appium 1.11.1 на iOS Simulator, и Swipe не работает

подключение драйвера выглядит нормально .. Я могу проверить driver.reloadApp (), и он работает

Я пробовал некоторые примеры, найденные в переполнении стека, о TouchActions

public static void swipeHorizontal(MobileDriver driver, double startPercentage, double finalPercentage, int duration) throws Exception {
      Dimension size = driver.manage().window().getSize();
      int height =  (int) (size.height/2);
      int startPoint =  (int) (size.getWidth() * startPercentage);
      int endPoint =  (int) (size.getWidth() * finalPercentage);
      new TouchAction(driver).press(new PointOption().point(height, startPoint)).waitAction(new WaitOptions().waitOptions(Duration.ofMillis(duration))).moveTo(new PointOption().point(height, endPoint)).release().perform();
    }

@Test.....{
      swipeHorizontal(driver, 0.80, 0.20, 5);
}

и тест пройден, но на экране ничего не происходит

Я также попробовал это решение https://stackoverflow.com/a/50388361/7406696, и оно не работает с моим симулятором

Это мой pom.xml

<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>io.appium</groupId>
        <artifactId>java-client</artifactId>
        <version>5.0.4</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.141.59</version>
    </dependency>
    <dependency>
        <groupId>io.appium</groupId>
        <artifactId>java-client</artifactId>
        <version>7.0.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.7</version>
    </dependency>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.14.3</version>
        <scope>test</scope>
    </dependency>
 </dependencies>

1 Ответ

0 голосов
/ 14 марта 2019

Наконец-то сработало удаление waitOptions и переход от press () к longPress ()

public static void swipeHorizontal(AppiumDriver driver, double startPercentage, double finalPercentage) throws Exception {
      Dimension size = driver.manage().window().getSize();
      int anchor =  (int) (size.height/2);
      int startPoint =  (int) (size.width * startPercentage);
      int endPoint =  (int) (size.width * finalPercentage);
      new TouchAction(driver).longPress(new PointOption().point(startPoint, anchor)).moveTo(new PointOption().point(endPoint, anchor)).release().perform();
  }


@Test..... {
      swipeHorizontal(driver, 0.80, 0.20);  
}
...