Monday, January 30, 2023

scroll up and down using appium

import io.appium.java_client.MobileElement;
import io.appium.java_client.TouchAction;
import io.appium.java_client.android.AndroidDriver;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

public class NaukriAppTest {
    private AndroidDriver<MobileElement> driver;

    @BeforeMethod
    public void setUp() throws MalformedURLException {
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName", "Android Device");
        capabilities.setCapability("platformName", "Android");
        capabilities.setCapability("appPackage", "com.naukri.fragement");
        capabilities.setCapability("appActivity", "com.naukri.fragement.NaukriSplashScreen");
        driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    }

    @Test
    public void testNaukriApp() {
        // Scroll down
        Dimension size = driver.manage().window().getSize();
        int x = size.width / 2;
        int startY = (int) (size.height * 0.8);
        int endY = (int) (size.height * 0.2);
        new TouchAction(driver).press(x, startY).waitAction().moveTo(x, endY).release().perform();

        // Scroll up
        new TouchAction(driver).press(x, endY).waitAction().moveTo(x, startY).release().perform();

        // Tap on an element
        MobileElement element = driver.findElementById("com.naukri.fragement:id/element_id");
        new TouchAction(driver).tap(element).perform();

        // Double tap on an element
        new TouchAction(driver).tap(element).waitAction(1000).tap(element).perform();
    }

    @AfterMethod
    public void tearDown() {
        driver.quit();
    }
}

No comments:

Post a Comment