[英]How to dismiss the keyboard in appium using Java?
这段代码只是为了找到文本框并向它发送一些文本。 当它出现时,键盘出现在 android 设备上。如何在 sendKeys 之后关闭它。
@Test
public static void test_demo() throws Exception {
WebElement element = driver.findElement(By.id("mytextfield"));
element.sendKeys("test");
//how do I dismiss keyboard which appears on my android device after sendKeys?
}
driver.hideKeyboard()
仅适用于AppiumDriver
。 我正在使用包含此功能的java-client-2.2.0.jar。
最好的方法是使用后退按钮。
driver.navigate().back(); // For older version of appium
如果要在Android selenium测试中禁用键盘,请添加这些所需的功能值。
capabilities.setCapability("unicodeKeyboard", true);
capabilities.setCapability("resetKeyboard", true);
请使用Appium 1.0
添加库或添加Appium Java客户端的maven依赖关系:
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>1.1.0</version>
</dependency>
以下列方式创建驱动程序实例:
AppiumDriver driver=null;
driver= new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);
并使用以下功能隐藏键盘:
driver.hideKeyboard();
我用的是driver.hideKeyboard();
每次我使用sendKeys()
键入内容。 适合我。
public static AndroidDriver driver= null;
......
driver.hideKeyboard();
将根据我的经验完美地运作
capabilities.setCapability("unicodeKeyboard", true);
capabilities.setCapability("resetKeyboard", true);
仍然适用于1.7.2并假设为1.8
针对未使用AppiumDriver
解决方案:
((AppiumDriver)driver).hideKeyboard();
driver.hideKeyboard();
有时不起作用。 因为在运行 testcase 键盘时出现的速度不快,所以 testcase 失败。 如果我使用Thread.sleep(5000);
在使用hideKeyboard
方法之前,它每次对我来说都很hideKeyboard
。
try {
Thread.sleep(5000);
} catch (Exception e) {
e.getMessage();
}
driver.hideKeyboard();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.