如何在特定框中向右(垂直)滑动,并在带有Appium的Android中验证所有结果

时间:2019-01-24 13:24:14

标签: android android-layout appium appium-android appium-desktop

场景是在一个框上从右向左滑动。您会得到一些动态结果。并验证它们。

1 个答案:

答案 0 :(得分:0)

U可以识别2个元素的定位符-

1-元素直到您想要到达的地方

2-该框中所有水平元素的通用Xpath,然后运行以下代码以水平滚动。

public static void scrollTillElementHorizontally(By by, By allElements) {
    if (driver.findElements(By) > 0 || driver.findElement(By).isDisplayed())
        return;

    int y = driver.findElement(allElements).getCenter().y;
    int width = driver.manage().window().getSize().getWidth();
    double startX = width * 0.80;
    double endX = width * 0.20;
    TouchAction action = new TouchAction(driver);
    int i = 0;
    while (i < 50) {
        if (driver.findElements(By) > 0 || driver.findElement(By).isDisplayed())
            break;
        action.press(PointOption.point((int) startX, y)).waitAction(WaitOptions.waitOptions(Duration.ofSeconds(2)))
                .moveTo(PointOption.point((int) endX, y)).release().perform();
        i++;
    }
}

如果您要在滚动时删除重复的元素,请将元素添加到HashSet中,这将在滚动时删除重复的元素。