package Emulator; import java.net.MalformedURLException; import java.net.URL; import java.util.List; import java.util.concurrent.TimeUnit; import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.DesiredCapabilities; import org.testng.annotations.Test; import io.appium.java_client.MobileBy; import io.appium.java_client.MobileElement; import io.appium.java_client.TouchAction; import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.android.AndroidElement; import io.appium.java_client.remote.MobileCapabilityType; import io.appium.java_client.touch.TapOptions; import io.appium.java_client.touch.offset.ElementOption; public class Continue_Guest { @Test public void testScrolling() throws MalformedURLException , InterruptedException { DesiredCapabilities cap = new DesiredCapabilities(); cap.setCapability(MobileCapabilityType.DEVICE_NAME, "demo"); cap.setCapability(MobileCapabilityType.APP, System.getProperty("user.dir")+"//src//application//SouqBH_v1_1.3_22-08-19-debug.apk"); AndroidDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),cap); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); driver.findElementByAndroidUIAutomator("text(\"Continue\")").click(); driver.findElementByAndroidUIAutomator("text(\"Skip\")").click(); driver.findElementByAndroidUIAutomator("text(\"Continue as a guest\")").click(); //driver.findElementByXPath("//*[@text='Account']").click(); // List elements = driver.findElements(MobileBy.id("com.souqbh:id/navigation_account")); // System.out.println("elements size: " + elements.size()); // if (!elements.isEmpty()) { // MobileElement el = (MobileElement) elements.get(0); // System.out.println("element x: " + el.getCenter().x + ", y: " + el.getCenter().y); // TapOptions tapOptions = new TapOptions().withElement(ElementOption.element(el)); // new TouchAction(driver).tap(tapOptions).perform(); // } // System.out.println(driver.getPageSource()); try { Thread.sleep(10000); // 10 sec sleep to wait... } catch (Exception e) { // ignore } // now try to find Account element List elements = driver.findElements(MobileBy.id("com.souqbh:id/navigation_account")); // package name NOT needed System.out.println("elements size: " + elements.size()); try { Thread.sleep(10000); // 10 sec sleep and try again to see something } catch (Exception e) { // ignore } elements = driver.findElements(MobileBy.id("com.souqbh:id/navigation_account")); // package name NOT needed System.out.println("elements size: " + elements.size()); if (!elements.isEmpty()) { MobileElement el = (MobileElement) elements.get(0); System.out.println("element x: " + el.getCenter().x + ", y: " + el.getCenter().y); TapOptions tapOptions = new TapOptions().withElement(ElementOption.element(el)); new TouchAction(driver).tap(tapOptions).perform(); } } }