如何使用Java关闭appium中的键盘?
Posted
技术标签:
【中文标题】如何使用Java关闭appium中的键盘?【英文标题】:How to dismiss the keyboard in appium using Java? 【发布时间】:2014-06-06 20:32:30 【问题描述】:这段代码只是为了找到文本框并向它发送一些文本。 当它这样做时,键盘出现在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?
【问题讨论】:
您似乎忘记了您的问题文本。 【参考方案1】:driver.hideKeyboard()
仅适用于 AppiumDriver
。
我正在使用包含此功能的 java-client-2.2.0.jar。
【讨论】:
也适用于 javascript 客户端。if(getDriver().isKeyboardShown()) getDriver().hideKeyboard();
【参考方案2】:
最好的方法是使用返回按钮。
driver.navigate().back(); // For older version of appium
【讨论】:
这将适用于某些 android api,但会在其他 api 上失败。在一些 android Api 中,它会让你回到以前的活动,而不是隐藏键盘 您可以查看此链接以获得我的正确答案***.com/questions/21704358/…【参考方案3】:如果您想在 android selenium 测试中禁用键盘,请添加这些所需的功能值。
capabilities.setCapability("unicodeKeyboard", true);
capabilities.setCapability("resetKeyboard", true);
【讨论】:
键盘在我的情况下仍然弹出。【参考方案4】:请使用 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();
【讨论】:
Appium 1.1.0 在调用 hideKeyboard() 时抛出一个尚未实现的方法 hideKeyboard() 在 java-client 1.5.0 中实现 如果由于某种原因键盘不存在怎么办(例如,在模拟器上的键盘不显示在 send_keys 上)。在这种情况下,您将返回并且测试出错。您需要以某种方式检查 OSK 是否存在【参考方案5】:每次我使用sendKeys()
输入内容时,我都会使用driver.hideKeyboard();
。非常适合我。
【讨论】:
【参考方案6】:不使用AppiumDriver
的人的解决方案:
((AppiumDriver)driver).hideKeyboard();
【讨论】:
【参考方案7】:public static AndroidDriver driver= null;
......
driver.hideKeyboard();
根据我的经验可以完美运行。
【讨论】:
【参考方案8】:driver.hideKeyboard();
有时不起作用。
因为在运行测试用例时键盘出现速度不快,所以测试用例失败。
如果我在hideKeyboard
方法之前使用Thread.sleep(5000);
,那么每次对我来说都很好。
try
Thread.sleep(5000);
catch (Exception e)
e.getMessage();
driver.hideKeyboard();
【讨论】:
以上是关于如何使用Java关闭appium中的键盘?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iOS 模拟器上使用某种语言键盘启动 Appium 测试
如何使用Java向下滚动到iOS中appium 1.6.4 beta中的确切元素
如何使用javascript检测android设备中的键盘关闭事件