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

Please go through the below video for complete details:
Summary:
UiScrollable:
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(UiSelector container)
UiScrollable is a UiCollection
and as such requires a UiSelector
to identify the container UI element of the scrollable collection.
ScrollIntoView (UiSelector selector)
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:
scrollToEnd (int maxSwipes, int steps)
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:
scrollToEnd (int maxSwipes)
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