我有一个应用程序页面,我需要在其中垂直滚动才能到达应用程序的某个元素。
我已经用Google搜索并尝试了许多解决方案。许多命令已弃用,appium中不再支持。此外,Stack中的先前问题/答案也无济于事。 我正在使用appium v1.13.0 + Java(IntelliJ)。
有时我会看到此错误:
from django.shortcuts import render
def myview(request):
#get your list of cities you may also do some filtering
cities = [obj.city for obj in YourModel.objects.all()]
return render(request, 'cities_template.html', {'cities': cities})
无论如何,我的问题不只是解决提到的错误。我正在寻找可行且正确的命令来使appium进行滚动操作。 请带给我完整的示例项目,因为我是大三。 谢谢
答案 0 :(得分:1)
我的刷卡方法:
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();
}
答案 1 :(得分:0)
尝试
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 + ")"));
答案 2 :(得分:0)
要在垂直/水平方向上滑动,我使用的是TouchAction:
TouchAction touchAction = new TouchAction((PerformsTouchActions) driver);
touchAction.press(startPoint)
.waitAction(WaitOptions.waitOptions(Duration.ofMillis(waitBetweenSwipes)))
.moveTo(endPoint)
.release()
.perform();