buttons

”Scroll Gestures” -‘UiScrollable’ | How to perform “Scroll to End” by using ‘UiScrollable’ Class

 

”Scroll Gestures” -‘UiScrollable’ | How to perform “Scroll to End” by using ‘UiScrollable’ Class

Please go through the below video for complete details:

Summary:

UiScrollable is a UiCollection and provides support for searching for items in a scrollable user interface (UI) elements. This class can be used with horizontally or vertically scrollable controls.

UiScrollable is a UiCollection and as such requires a UiSelector to identify the container UI element of the scrollable collection.

Perform a scroll search for a UI element matching the UiSelector selector argument. See scrollDescriptionIntoView(String) and scrollTextIntoView(String).

Parameters

selector UiSelector selector

Returns

  • true if the item was found and now is in view else false

Throws

UiObjectNotFoundException

Option-1:

Scrolls to the end of a scrollable UI element. The end could be the bottom most in case of vertical controls or the right most for horizontal controls. Caution is required on devices configured with right to left languages like Arabic and Hebrew.

Parameters

steps use steps to control the speed, so that it may be a scroll, or fling

Returns

  • true on scrolled else false

Throws

UiObjectNotFoundException

Option-2:

UiScrollable#scrollToEnd(int, int)

Returns

  • true on scrolled else false

Throws

UiObjectNotFoundException

Syntax:

"new UiScrollable(new UiSelector().scrollable(true)).scrollToEnd(n)"));

Example:

driver.findElement(AppiumBy.androidUIAutomator(
"new UiScrollable(new UiSelector().scrollable(true)).scrollToEnd(50)"));

Code:

package demo;

import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import io.appium.java_client.AppiumBy;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.options.UiAutomator2Options;

import java.net.*;
import java.time.Duration;

/**
* Script Details - "Scroll Gestures” -‘UiScrollable’ | How to perform "Scroll to End" by using 'UiScrollable' Class
*
* appium-java-client version: 9.3.0
*
* @author 'Ramesh Kodumuru' for AppiumGuide [appiumguide@gmail.com]
*/


public class ScrollToEndDemo {

private AndroidDriver driver;

@BeforeTest
public void setup() throws MalformedURLException {
UiAutomator2Options cap=new UiAutomator2Options();
cap.setPlatformName("android");
cap.setAutomationName("uiautomator2");
cap.setDeviceName("Pixel8Pro");


driver = new AndroidDriver(new URL("http://127.0.0.1:4723"), cap);
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));


}
@Test
public void test1() throws InterruptedException {

driver.activateApp("io.appium.android.apis");

driver.findElement(AppiumBy.accessibilityId("Views")).click();

driver.findElement(AppiumBy.androidUIAutomator(
"new UiScrollable(new UiSelector().scrollable(true))" +
".scrollIntoView(new UiSelector().text(\"Lists\"))"));

driver.findElement(AppiumBy.accessibilityId("Lists")).click();

driver.findElement(AppiumBy.accessibilityId("15. Selection Mode")).click();

Thread.sleep(3000);
driver.findElement(AppiumBy.androidUIAutomator(
"new UiScrollable(new UiSelector().scrollable(true)).scrollToEnd(50)"));

}



@AfterTest
public void teardown() {

if(driver!=null) {
driver.quit();
System.out.println("Test Execution Completed");
}

}

}

GitHub Link:

No comments:

Post a Comment