buttons

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

 

”Scroll Gestures”-‘UiScrollable’ | How to perform “Scroll to Beginning” 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

scrollToBeginning(int, int)

Returns

  • true on scrolled else false

Throws

UiObjectNotFoundException

Syntax:

"new UiScrollable(new UiSelector().scrollable(true)).scrollToBeginning(n)"

Example:

driver.findElement(AppiumBy.androidUIAutomator(
"new UiScrollable(new UiSelector().scrollable(true)).scrollToBeginning(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 Beginning" by using UiScrollable Class
*
* appium-java-client version: 9.3.0
*
* @author 'Ramesh Kodumuru' for AppiumGuide [appiumguide@gmail.com]
*/


public class ScrollToBenningDemo {

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();

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

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

}


@AfterTest
public void teardown() {

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

}

}



GitHub Link:

No comments:

Post a Comment