i use tap action in chrome browser with this method :
until yesterday morning it was working very well …
/**
* tap in chrome with actionTouch by changing context to native context else it's doesn't work
*
* @param androidDriver the current driver
* @param fElement the WebElement targeted to be tap
*/
public static void WebTap(AndroidDriver androidDriver, WebElement fElement) throws IOException, InterruptedException {
WebElement element = fElement;
Point point = getElementCenter(androidDriver, element);
double elementCenterX = point.getX();
double elementCenterY = point.getY();
String originalContext = androidDriver.getContext();
androidDriver.context("NATIVE_APP");
while (elementCenterY < 241) {
androidDriver.context(originalContext);
AndroidEnvironnement.swipeDown(androidDriver);
AndroidEnvironnement.setAndroidTouchArg(androidDriver);
point = getElementCenter(androidDriver, element);
elementCenterX = point.getX();
elementCenterY = point.getY();
androidDriver.context("NATIVE_APP");
}
try {
androidDriver.tap(1, (int) elementCenterX, (int) elementCenterY, 100);
} catch (Exception e) {
if (elementCenterY > AndroidEnvironnement.screenSize.getHeight()) {
androidDriver.context(originalContext);
AndroidEnvironnement.swipeUp(androidDriver);
AndroidEnvironnement.setAndroidTouchArg(androidDriver);
WebTap(androidDriver, fElement);
androidDriver.context("NATIVE_APP");
} else if (elementCenterY < AndroidEnvironnement.screenSize.getHeight()) {
androidDriver.context(originalContext);
AndroidEnvironnement.swipeDown(androidDriver);
AndroidEnvironnement.setAndroidTouchArg(androidDriver);
WebTap(androidDriver, fElement);
androidDriver.context("NATIVE_APP");
}
}
androidDriver.context(originalContext);
}
now sometimes the tap is longer than usual , my speed is 100 ms so it’s it’s pretty speedy^^
the fact that is longer make my test crash because long press open a popup in chrome with the url of the button.
thx in advance to help me.