如何从APPIUM中的脚本滚动列表

时间:2017-12-13 06:15:54

标签: android listview scroll appium appium-android

您好我正在Android中使用APPIUM。我需要做的是明智地滚动列表页面。 我试过跟进。

    MobileElement element =(MobileElement)driver.findElement(By.className("android.widget.ListView"));
    JavascriptExecutor js = (JavascriptExecutor) driver;
    HashMap<String, String> scrollObject = new HashMap<>();
    scrollObject.put("direction", "down");
    scrollObject.put("element", ((RemoteWebElement) element).getId());
    js.executeScript("mobile: scrollTo", scrollObject);

这样可行,但列表会不断滚动,直到显示最后一个元素。我需要做的是明智地滚动列表页面。

2 个答案:

答案 0 :(得分:2)

这对我有用。

 List<WebElement> list = driver.findElements(By.xpath("//android.widget.TextView[@resource-id='com.imdb.mobile:id/label']"));

 if (list != null && !list.isEmpty()) {
   WebElement bottomElement = list.get(list.size() - 1);
   WebElement topElement = list.get(0);      
   TouchAction touchAction = newTouchAction(driver).press(bottomElement).moveTo(topElement).release();
   touchAction.perform();
   }

答案 1 :(得分:0)

由于它是一个可滚动的列表,如何使用mySlick.on('beforeChange', function(event, slick, currentSlide, nextSlide) { // Run an animation before next slide comes in. mySlick.slickPause(); setTimeout(function() { // add animation class mySlick.slickNext(); }, 2000); } ,例如

UiScrollable

更多选项here