【问题标题】:Keyboard in Android physical device isn’t always hidden while using Appium使用 Appium 时,Android 物理设备中的键盘并不总是隐藏
【发布时间】:2016-04-28 19:32:23
【问题描述】:

当我想隐藏键盘时,(因为如果我在单击键盘下的按钮时不隐藏它,则会按下键盘上的数字而不是确认按钮)有时它会被命令隐藏driver.hidekeyboard(); 和其他时候它会自动隐藏。

其他时候它告诉我

处理命令时出现未知的服务器端错误。 (原错误:软键盘不存在,无法隐藏键盘)

【问题讨论】:

    标签: android mobile selenium-webdriver automated-tests appium


    【解决方案1】:

    使用adb命令查看键盘是否弹出

    adb shell dumpsys input_method | grep mInputShown 
    

    输出:mShowRequested=true mShowExplicitlyRequested=false mShowForced=false mInputShown=true

    如果mInputShown=true 则弹出是软件键盘。 然后使用driver.pressKeyCode(AndroidKeyCode.BACK);

    PS:请不要使用driver.navigate().back(),因为它在所有设备上的行为可能并不相同。

    【讨论】:

    • 点击后:Emnas-Mac:~ Emna$ adb shell dumpsys input_method | grep mInputShown 我得到以下输出。 mShowRequested=false mShowExplicitlyRequested=false mShowForced=false mInputShown=false 所以我应该把 driver.pressKeyCode(AndroidKeyCode.BACK);在我想要使用键盘的所有脚本中?
    • 如果 mInputShown=false 那么你不需要调用 driver.pressKeyCode(AndroidKeyCode.BACK);
    • 键盘随机出现在同一个屏幕上的问题我有3个字段我必须使用sendkeys("");不稳定
    • 好的,那么为了你的脚本和应用程序之间的同步,在检查屏幕上是否存在键盘之前先休眠,如果存在则按 AndroidKeyCode.BACK 否则执行下一个命令
    • 我也有以下问题:我不知道为什么键盘有时不能正常工作:stackoverflow.com/questions/34989966/…
    【解决方案2】:

    尝试在模拟器和实时设备上工作时遇到了类似的问题。一个显示了键盘,另一个没有。因此,driver.hideKeyboard(); 曾经因后者而失败。只需确保键盘在这两种情况下都会出现然后隐藏即可。

    driver.getKeyboard();
    driver.hideKeyboard();
    

    这对我来说很好。希望对您有所帮助。

    【讨论】:

    • 同样的问题,driver.getKeyboard(); driver.hideKeyboard();没有解决我的问题!
    【解决方案3】:

    @Emna 如果 hidekeyboard 不起作用,请在输入两个字段后尝试。 driver.navigate().back(); 或将其包装为

    public void clickDeviceBackButton(){
            driver.navigate().back();
        }
    

    并在您的测试用例中调用clickDeviceBackButton()

    【讨论】:

    • 尝试在页面上找到 AS tatic Text 元素并在此处找到 .click()。这会关闭键盘
    【解决方案4】:

    尝试在页面上找到一个静态文本/链接元素,然后在那里 .click()。这将关闭键盘。

    【讨论】:

      猜你喜欢
      • 2016-05-04
      • 2018-01-22
      • 1970-01-01
      • 1970-01-01
      • 2011-02-17
      • 2022-12-14
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      相关资源
      最近更新 更多