Appium 如何判断并隐藏已弹出的键盘

lijingbo · 2014年12月02日 · 最后由 waveboy 回复于 2018年05月29日 · 2537 次阅读

在使用 Appium 执行登陆操作的时候,使用 send_keys()方法会调用系统的键盘,造成键盘弹出。完成输入密码动作以后,键盘刚好会遮挡住登陆按钮,造成无法点击,进一步造成后面的测试用例全部 failed。我目前打算使用 hide_keyboard() 方法隐藏键盘,但现在有两种情况:1.有时候使用 send_keys() 键盘不会弹出来,使用 hide_keyboard() 就会报错 2.假如键盘弹出来的情况下,使用 hide_keyboard() 就正常了。
请问已经做过这些的高手们,怎么判断键盘是否弹出,然后调用 hide_keyboard() 方法
下面是含有 hide_keyboard() 的报错

共收到 8 条回复 时间 点赞

IOS 吗?print driver.page_source,自己解析一下看看键盘是否弹出来了

请问解决了吗?我也遇到这个问题,可以分享一下解决方案吗?

public static void closeKeyBoard(AppiumDriver driver) {
    try {
        driver.hideKeyboard();
    } catch (WebDriverException ex) {
        AutoLog.log("<Keyboard>Soft keyboard not present, cannot hide keyboard!!!");
    }
}

#2 楼 @liyanmei0423 还没有解决,遇到了其他的问题,正在解决其他问题。

#3 楼 @yangyajie_002 谢谢,我稍后试试。

#1 楼 @xujjie 使用的 Android

你好,请问解决了吗?可以分享一下解决方案吗?

android 的话,需要将手机上的键盘输入法修改成非密码键盘才可以直接点击到登录按钮等。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册