How to use isKeyboardShown method of io.appium.java_client.HasOnScreenKeyboard class

Best io.appium code snippet using io.appium.java_client.HasOnScreenKeyboard.isKeyboardShown

RegistrationTest.java

Source:RegistrationTest.java Github

copy

Full Screen

...128		inputAccount.click();129		inputAccount.sendKeys(config.getParameterValue("Account"));130		//keyNum(testParam.get("Account"));131132		if(((HasOnScreenKeyboard) adDriver).isKeyboardShown()) adDriver.hideKeyboard();133		134		//next135		adDriver.findElementByXPath(nextButtonAccount).click();136137		//wait id page loaded138		AndroidElement inputKTP  = (AndroidElement) new WebDriverWait(adDriver, 30).until(139				ExpectedConditions.elementToBeClickable(By.xpath(inputKTPXPath)));140		141		inputKTP.click();142		inputKTP.sendKeys(config.getParameterValue("ID"));143		//keyNum(testParam.get("ID"));144		145		if(((HasOnScreenKeyboard) adDriver).isKeyboardShown()) adDriver.hideKeyboard();146		//next147		adDriver.findElementByXPath(nextButtonAccount).click();148		149		//wait email page loaded150		AndroidElement inputEmail  = (AndroidElement) new WebDriverWait(adDriver, 30).until(151				ExpectedConditions.elementToBeClickable(By.xpath(inputEmailXPath)));152		153		inputEmail.click();154		inputEmail.sendKeys(config.getParameterValue("Email"));155		if(((HasOnScreenKeyboard) adDriver).isKeyboardShown()) adDriver.hideKeyboard();156		157		//next158		adDriver.findElementByXPath(nextButtonAccount).click();159		160		//wait for OTP screen161		AndroidElement inputOTP  = (AndroidElement) new WebDriverWait(adDriver, 30).until(162				ExpectedConditions.elementToBeClickable(By.xpath(OTPXPath)));163		164		String otp;165		if(config.getParameterValue("OTP").toUpperCase().equals("AUTO") ) {166			otp = CommonTest.getOTPFromNotification(adDriver);167		} else {168			otp = config.getParameterValue("OTP");169		}170		171		if(config.getParameterValue("ExpiredOTP").toUpperCase().equals("YES")) {172			173			CommonTest.sleep(adDriver, 60000);174		}175		176		if(config.getParameterValue("ResendOTP").toUpperCase().equals("YES")) {177			CommonTest.clearNotif(adDriver);178			179			adDriver.findElementByXPath("//android.view.View[@content-desc='Kirim ulang']").click();180			otp =  CommonTest.getOTPFromNotification(adDriver);181		}182		183		TouchAction action = new TouchAction(adDriver);184		action.tap(ElementOption.element(inputOTP,10,10));185		action.perform();186187		CommonTest.keyNum(adDriver,otp);188		189		//next190		adDriver.findElementByXPath(nextButtonAccount).click();191		192		//username193		AndroidElement inputUsername  = (AndroidElement) new WebDriverWait(adDriver, 30).until(194				ExpectedConditions.elementToBeClickable(By.xpath(inputUsernameXPath)));195		196		inputUsername.click();197		inputUsername.sendKeys(config.getParameterValue("Username"));198		if(((HasOnScreenKeyboard) adDriver).isKeyboardShown()) adDriver.hideKeyboard();199		200		//next201		adDriver.findElementByXPath(nextButtonAccount).click();202		203		//input password204		AndroidElement inputPassword  = (AndroidElement) new WebDriverWait(adDriver, 30).until(205				ExpectedConditions.elementToBeClickable(By.xpath(inputPasswordXPath)));206		207		List<AndroidElement> inputPwds = adDriver.findElementsByXPath(inputPasswordXPath);208		209		//pwd element210		AndroidElement inputMainPwd = inputPwds.get(0);211		inputMainPwd.click();212		inputMainPwd.sendKeys(config.getParameterValue("Password"));213		if(((HasOnScreenKeyboard) adDriver).isKeyboardShown()) adDriver.hideKeyboard();214		215		//pwd confirmpwd216		String confirmPwd;217		if(config.getParameterValue("ConfirmPwd").isBlank()) {218			confirmPwd = config.getParameterValue("Password");219		}220		else {221			confirmPwd = config.getParameterValue("ConfirmPwd");222		}223		224		AndroidElement inputConfirmPwd = inputPwds.get(1);225		inputConfirmPwd.click();226		inputConfirmPwd.sendKeys(confirmPwd);227		if(((HasOnScreenKeyboard) adDriver).isKeyboardShown()) adDriver.hideKeyboard();228		229		//next last step230		adDriver.findElementByXPath(nextButtonAccount).click();231		232233		234		//make PIN235		makePIN(config.getResourceValue("mobile_pin_registration_input"),config.getParameterValue("PIN"));236		//confirmation PIN237		makePIN(config.getResourceValue("confirmation_mobile_pin_registration_input"), config.getParameterValue("ConfirmPIN"));238		239		//finally240		AndroidElement title  = (AndroidElement) new WebDriverWait(adDriver, 30).until(241						ExpectedConditions.presenceOfElementLocated(By.xpath(registrationLastPageXPath)));
...

Full Screen

Full Screen

TransferOtherBankTest.java

Source:TransferOtherBankTest.java Github

copy

Full Screen

...126		if(config.getParameterValue("IfBankDestinationFromSearch").toUpperCase().equals("YES")) {127			AndroidElement searchEl = (AndroidElement) adDriver.findElementByXPath("//android.widget.EditText");128			searchEl.click();129			searchEl.sendKeys(config.getParameterValue("DestinationBank"));130			if(((HasOnScreenKeyboard) adDriver).isKeyboardShown()) adDriver.hideKeyboard();131			132			AndroidElement bankEl  = (AndroidElement) new WebDriverWait(adDriver, config.getElementSearchTimeout()).until(133					ExpectedConditions.elementToBeClickable(By.xpath("//android.view.View[@content-desc='"+ config.getParameterValue("DestinationBank")+"']")));134			bankEl.click();135		}136		else {137			//select scrollable bank list138			AndroidElement listBankEl = (AndroidElement) adDriver.findElementByClassName("android.widget.ScrollView");139			140			if(!CommonTest.selectElementByScroll(adDriver, listBankEl, config.getParameterValue("DestinationBank"), 8)) {141				throw new NoSuchFieldException("Bank destination not found");142			}143			144		}145		146147	148		//Select destination account149		AndroidElement accountToEl  = (AndroidElement) new WebDriverWait(adDriver, config.getElementSearchTimeout()).until(150				ExpectedConditions.elementToBeClickable(By.xpath(accountToXPath)));151		accountToEl.click();152		accountToEl.sendKeys(config.getParameterValue("AccountTo"));153		if(((HasOnScreenKeyboard) adDriver).isKeyboardShown()) adDriver.hideKeyboard();154		155		//select amount156		AndroidElement amountEl  = (AndroidElement) new WebDriverWait(adDriver, config.getElementSearchTimeout()).until(157				ExpectedConditions.elementToBeClickable(By.xpath(amountXPath)));158		amountEl.click();159		amountEl.sendKeys(config.getParameterValue("Amount"));160		if(((HasOnScreenKeyboard) adDriver).isKeyboardShown()) adDriver.hideKeyboard();161		162		//select berita163		AndroidElement beritaEl  = (AndroidElement) new WebDriverWait(adDriver, config.getElementSearchTimeout()).until(164				ExpectedConditions.elementToBeClickable(By.xpath(beritaXPath)));165		beritaEl.click();166		beritaEl.sendKeys(config.getParameterValue("Berita"));167		if(((HasOnScreenKeyboard) adDriver).isKeyboardShown()) adDriver.hideKeyboard();168		169		//reff170		AndroidElement reffEl  = (AndroidElement) new WebDriverWait(adDriver, config.getElementSearchTimeout()).until(171				ExpectedConditions.elementToBeClickable(By.xpath(reffXPath)));172		reffEl.click();173		reffEl.sendKeys(config.getParameterValue("Reff"));174		if(((HasOnScreenKeyboard) adDriver).isKeyboardShown()) adDriver.hideKeyboard();175		176		switch(config.getParameterValue("Frequency")) {177			case "Onetime" :178				break;179				180			case "Weekly" :181				break;182			case "Monthly" :183				break;184			185			default:186				break;187		}188
...

Full Screen

Full Screen

TestClass.java

Source:TestClass.java Github

copy

Full Screen

...124		125		AndroidElement usernameInput = editTexts.get(0);126		usernameInput.click();127		usernameInput.sendKeys(config.getParameterValue("Username"));128		if(((HasOnScreenKeyboard) adDriver).isKeyboardShown()) adDriver.hideKeyboard();129		130		AndroidElement passwordInput = editTexts.get(1);131		passwordInput.click();132		passwordInput.sendKeys(config.getParameterValue("Password"));133		if(((HasOnScreenKeyboard) adDriver).isKeyboardShown()) adDriver.hideKeyboard();134		135		adDriver.findElementByXPath(confirmLoginButtonXPath).click();136	137		//wait for OTP page loaded138		List<WebElement> otpElement =  new WebDriverWait(adDriver, config.getElementSearchTimeout()).until(139				ExpectedConditions.presenceOfAllElementsLocatedBy(By.xpath(otpInputXPath)));140		141		142		AndroidElement otpInput = (AndroidElement) otpElement.get(0);143		144		String otp;145		146		if(config.getParameterValue("OTP").toUpperCase().equals("AUTO")) {147			 otp =  CommonTest.getOTPFromNotification(adDriver);148		}else {149			otp = config.getParameterValue("OTP");150		}151		152		if(config.getParameterValue("ExpiredOTP").toUpperCase().equals("YES")) {153		154			CommonTest.sleep(adDriver, 60000);155		}156		157		if(config.getParameterValue("ResendOTP").toUpperCase().equals("YES")) {158			CommonTest.clearNotif(adDriver);159			160			adDriver.findElementByXPath("//android.view.View[@content-desc='Kirim ulang']").click();161			otp =  CommonTest.getOTPFromNotification(adDriver);162		}163		164		TouchAction action = new TouchAction(adDriver);165		action.tap(ElementOption.element(otpInput,10,10));166		action.perform();167		168		CommonTest.keyNum(adDriver, otp);169		if(((HasOnScreenKeyboard) adDriver).isKeyboardShown()) adDriver.hideKeyboard();170		171		//next172		adDriver.findElementByXPath("//android.widget.Button[@content-desc='Selanjutnya']").click();173		174		//finally navigation bar loaded175		AndroidElement bankHome  = (AndroidElement) new WebDriverWait(adDriver, config.getElementSearchTimeout()).until(176				ExpectedConditions.presenceOfElementLocated(By.xpath("//android.view.View[contains(@content-desc,\"Assalamu'alaikum\")]")));177	}178179}
...

Full Screen

Full Screen

LoginTest.java

Source:LoginTest.java Github

copy

Full Screen

...99		100		AndroidElement usernameInput = editTexts.get(0);101		usernameInput.click();102		usernameInput.sendKeys(config.getParameterValue("Username"));103		if(((HasOnScreenKeyboard) adDriver).isKeyboardShown()) adDriver.hideKeyboard();104		105		AndroidElement passwordInput = editTexts.get(1);106		passwordInput.click();107		passwordInput.sendKeys(config.getParameterValue("Password"));108		if(((HasOnScreenKeyboard) adDriver).isKeyboardShown()) adDriver.hideKeyboard();109		110		adDriver.findElementByXPath(confirmLoginButtonXPath).click();111	112		113		List<WebElement> otpElement =  new WebDriverWait(adDriver, 30).until(114				ExpectedConditions.presenceOfAllElementsLocatedBy(By.xpath(otpInputXPath)));115		116		117		AndroidElement otpInput = (AndroidElement) otpElement.get(0);118		119		String otp;120		121		if(config.getParameterValue("OTP").toUpperCase().equals("AUTO")) {122			 otp =  CommonTest.getOTPFromNotification(adDriver);123		}else {124			otp = config.getParameterValue("OTP");125		}126		127		if(config.getParameterValue("ExpiredOTP").toUpperCase().equals("YES")) {128		129			CommonTest.sleep(adDriver, 60000);130		}131		132		if(config.getParameterValue("ResendOTP").toUpperCase().equals("YES")) {133			CommonTest.clearNotif(adDriver);134			135			adDriver.findElementByXPath("//android.view.View[@content-desc='Kirim ulang']").click();136			otp =  CommonTest.getOTPFromNotification(adDriver);137		}138		139		TouchAction action = new TouchAction(adDriver);140		action.tap(ElementOption.element(otpInput,10,10));141		action.perform();142		143		CommonTest.keyNum(adDriver, otp);144		if(((HasOnScreenKeyboard) adDriver).isKeyboardShown()) adDriver.hideKeyboard();145		146		//next147		adDriver.findElementByXPath("//android.widget.Button[@content-desc='"+config.getResourceValue("next_login_button")+"']").click();148		149		//finally navigation bar loaded150		AndroidElement bankHome  = (AndroidElement) new WebDriverWait(adDriver, 30).until(151				ExpectedConditions.presenceOfElementLocated(By.xpath("//android.view.View[contains(@content-desc,\"Assalamu'alaikum\")]")));152	}153	154	155156}
...

Full Screen

Full Screen

TelaOffline.java

Source:TelaOffline.java Github

copy

Full Screen

...80	}81	private void hideKeyboard() {82		if ("android".equalsIgnoreCase(83				(String) ((AppiumDriver) this.driver).getCapabilities().getCapability("platformName"))) {84			if (((HasOnScreenKeyboard) (this.driver)).isKeyboardShown())85				((AppiumDriver) this.driver).hideKeyboard();86		} else87			try {88				//this.driver.findElement(By.xpath("//XCUIElementTypeApplication")).click();89				this.driver.findElement(By.id("This is a demo site. Do not use real data")).click();90				if (((HasOnScreenKeyboard) (this.driver)).isKeyboardShown()) {91					try {92						((AppiumDriver) this.driver).findElementByAccessibilityId("Seguinte").click();93					} catch (Exception e1) {94						try {95							((AppiumDriver) this.driver).findElementByAccessibilityId("Concluído").click();96						} catch (Exception e2) {97						}98					}99				}100			} catch (Exception e) {101				try {102					((AppiumDriver) this.driver).findElementByAccessibilityId("Seguinte").click();103				} catch (Exception e1) {104					try {...

Full Screen

Full Screen

TelaLogin.java

Source:TelaLogin.java Github

copy

Full Screen

...63	}64	private void hideKeyboard() {65		if ("android".equalsIgnoreCase(66				(String) ((AppiumDriver) this.driver).getCapabilities().getCapability("platformName"))) {67			if (((HasOnScreenKeyboard) (this.driver)).isKeyboardShown())68				((AppiumDriver) this.driver).hideKeyboard();69		} else70			try {71				//this.driver.findElement(By.xpath("//XCUIElementTypeApplication")).click();72				this.driver.findElement(By.id("This is a demo site. Do not use real data")).click();73				if (((HasOnScreenKeyboard) (this.driver)).isKeyboardShown()) {74					try {75						((AppiumDriver) this.driver).findElementByAccessibilityId("Seguinte").click();76					} catch (Exception e1) {77						try {78							((AppiumDriver) this.driver).findElementByAccessibilityId("Concluído").click();79						} catch (Exception e2) {80						}81					}82				}83			} catch (Exception e) {84				try {85					((AppiumDriver) this.driver).findElementByAccessibilityId("Seguinte").click();86				} catch (Exception e1) {87					try {...

Full Screen

Full Screen

MobileKeyboard.java

Source:MobileKeyboard.java Github

copy

Full Screen

...7import io.appium.java_client.android.nativekey.KeyEvent;8import io.appium.java_client.android.nativekey.PressesKey;9import static com.epam.jdi.light.mobile.MobileUtils.executeDriverMethod;10public class MobileKeyboard extends Keyboard {11    public static boolean isKeyboardShown() {12        return executeDriverMethod(HasOnScreenKeyboard.class, HasOnScreenKeyboard::isKeyboardShown);13    }14    public static void hideKeyboard() {15        executeDriverMethod(HidesKeyboard.class, HidesKeyboard::hideKeyboard);16    }17    // next two methods are for IosDriver only18    public static void hideKeyboard(String keyName) {19        executeDriverMethod(HidesKeyboardWithKeyName.class,20                (HidesKeyboardWithKeyName driver) -> driver.hideKeyboard(keyName));21    }22    public static void hideKeyboard(String strategy, String keyName) {23        executeDriverMethod(HidesKeyboardWithKeyName.class,24                (HidesKeyboardWithKeyName driver) -> driver.hideKeyboard(strategy, keyName));25    }26    // next two methods are for AndroidDriver only...

Full Screen

Full Screen

KeyboardUtils.java

Source:KeyboardUtils.java Github

copy

Full Screen

...7public final class KeyboardUtils {8    private KeyboardUtils() {9    }10    public static boolean isKeyboardVisible() {11        return ((HasOnScreenKeyboard) AqualityServices.getApplication().getDriver()).isKeyboardShown();12    }13    public static void hideKeyboard() {14        AqualityServices.getApplication().getDriver().hideKeyboard();15    }16    public static void pressKey(AndroidKey androidKey) {17        ((PressesKey) AqualityServices.getApplication().getDriver()).pressKey(new KeyEvent(androidKey));18    }19}

Full Screen

Full Screen

isKeyboardShown

Using AI Code Generation

copy

Full Screen

1import org.openqa.selenium.By;2import org.openqa.selenium.WebElement;3import org.openqa.selenium.remote.DesiredCapabilities;4import org.testng.annotations.Test;5import io.appium.java_client.AppiumDriver;6import io.appium.java_client.MobileElement;7import io.appium.java_client.android.AndroidDriver;8import io.appium.java_client.android.HasOnScreenKeyboard;9import io.appium.java_client.remote.MobileCapabilityType;10public class isKeyboardShown {11public void test() throws Exception {12DesiredCapabilities caps = new DesiredCapabilities();13caps.setCapability("deviceName", "emulator-5554");14caps.setCapability("platformName", "Android");15caps.setCapability("appPackage", "com.android.calculator2");16caps.setCapability("appActivity", "com.android.calculator2.Calculator");17caps.setCapability("noReset", "true");

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run io.appium automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Most used method in HasOnScreenKeyboard

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful