如何在 appium-android 中滚动 up/down
How to scroll up/down in appium-android
我有一个应用程序页面,我需要在其中垂直滚动才能到达应用程序的某个元素。
我用谷歌搜索并尝试了很多解决方案。许多命令已被弃用,并且在 appium 中不再支持。此外,Stack 中之前的 questions/answers 对我没有帮助。
我正在使用 appium v1.13.0 + Java (IntelliJ)。
有时我会看到这个错误:
java.lang.ClassCastException: io.appium.java_client.android.AndroidDriver cannot be cast to org.openqa.selenium.interactions.HasTouchScreen
不管怎样,我的问题不仅仅是解决上述错误。我正在寻找可行且正确的命令来使用 appium 进行滚动操作。
请给我完整的示例项目,因为我是初中生。
谢谢
试试这个
String scrollViewContainer_finder = "new UiSelector().resourceIdMatches(\".*id/your_scroll_view_id\")";
String neededElement_finder = "new UiSelector().resourceIdMatches(\".*id/elemnt1\")";
WebElement abc = driver.findElement(MobileBy.AndroidUIAutomator("new UiScrollable(" + scrollViewContainer_finder + ")" +
".scrollIntoView(" + neededElement_finder + ")"));
滑动 vertically/horizontally 我正在使用 TouchAction:
TouchAction touchAction = new TouchAction((PerformsTouchActions) driver);
touchAction.press(startPoint)
.waitAction(WaitOptions.waitOptions(Duration.ofMillis(waitBetweenSwipes)))
.moveTo(endPoint)
.release()
.perform();
我的刷卡方式:
public void swipe(int startX, int startY, int endX, int endY, int msDuration) {
TouchAction touchAction = new TouchAction(mDriver);
touchAction.press(PointOption.point(startX, startY))
.waitAction(WaitOptions.waitOptions(Duration.ofMillis(msDuration)))
.moveTo(PointOption.point(endX, endY))
.release();
touchAction.perform();
}
我有一个应用程序页面,我需要在其中垂直滚动才能到达应用程序的某个元素。
我用谷歌搜索并尝试了很多解决方案。许多命令已被弃用,并且在 appium 中不再支持。此外,Stack 中之前的 questions/answers 对我没有帮助。 我正在使用 appium v1.13.0 + Java (IntelliJ)。
有时我会看到这个错误:
java.lang.ClassCastException: io.appium.java_client.android.AndroidDriver cannot be cast to org.openqa.selenium.interactions.HasTouchScreen
不管怎样,我的问题不仅仅是解决上述错误。我正在寻找可行且正确的命令来使用 appium 进行滚动操作。 请给我完整的示例项目,因为我是初中生。 谢谢
试试这个
String scrollViewContainer_finder = "new UiSelector().resourceIdMatches(\".*id/your_scroll_view_id\")";
String neededElement_finder = "new UiSelector().resourceIdMatches(\".*id/elemnt1\")";
WebElement abc = driver.findElement(MobileBy.AndroidUIAutomator("new UiScrollable(" + scrollViewContainer_finder + ")" +
".scrollIntoView(" + neededElement_finder + ")"));
滑动 vertically/horizontally 我正在使用 TouchAction:
TouchAction touchAction = new TouchAction((PerformsTouchActions) driver);
touchAction.press(startPoint)
.waitAction(WaitOptions.waitOptions(Duration.ofMillis(waitBetweenSwipes)))
.moveTo(endPoint)
.release()
.perform();
我的刷卡方式:
public void swipe(int startX, int startY, int endX, int endY, int msDuration) {
TouchAction touchAction = new TouchAction(mDriver);
touchAction.press(PointOption.point(startX, startY))
.waitAction(WaitOptions.waitOptions(Duration.ofMillis(msDuration)))
.moveTo(PointOption.point(endX, endY))
.release();
touchAction.perform();
}