Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

page scroll is not happening appium java client

Tags:

java

appium

I am doing automation mobile testing for my application .In login page after entering username & password,keyboard pops up and blocks everything down in the screen . So it's throws An element could not be located on the page using the given search parameters org.openqa.selenium.NoSuchElementException: To Enable scroll or screen touch i had tried many ways .

1)
WebElement element1 = driver.findElement(MobileBy.AccessibilityId("btnLogin"));
	  	  int x = element1.getLocation().getX();
	  	  int y = element1.getLocation().getY();
		  TouchAction action = new TouchAction((PerformsTouchActions) driver);
	  action.press(x,y).moveTo(x,y-90).release().perform();
    
    2)
    WebElement element1 = driver.findElement(MobileBy.AccessibilityId("btnLogin"));
	  ((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView(true);",element1);
    
    3)
    
     TouchAction action = new TouchAction((PerformsTouchActions) driver);
	  WebElement element1 = driver.findElement(MobileBy.AccessibilityId("com.a.b:id/imageView"));
	  WebElement element2 = driver.findElement(MobileBy.AccessibilityId("com.a.b:id/btnLogin"));
	  action.press(element1).moveTo(element2).release();
    
    4)
    JavascriptExecutor js = (JavascriptExecutor) driver;
	  HashMap<String, String> scrollObject = new HashMap<String, String>();
	  scrollObject.put("direction", "up");
	  scrollObject.put("element", "btnLogin");
	  js.executeScript("mobile: scroll", scrollObject);
    
    5)
    ((AndroidDriver) driver).context("NATIVE_APP");
	  WebElement element = driver.findElementById("btnLogin");
	  int x = element.getSize().getWidth();
    int xEnd = 0;
	  int yStart = element.getSize().getHeight()/2;
	  ((AndroidDriver) driver).swipe(x, yStart, xEnd, yStart, 500);

I am not able to resolve this issue .. can you please suggest me with some sample code to resolve this problem .

like image 478
Santosh Avatar asked Feb 17 '26 07:02

Santosh


1 Answers

To hide keyboard you can use following method driver.hideKeyboard() . This work with AppiumDriver.

After entering your username and password you can use this line of code :

driver.hidekeyboard();

like image 159
shiv Avatar answered Feb 18 '26 19:02

shiv



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!