使用Calabash检测Android键盘



我正在使用calabash-android为Android应用程序编写一系列自动化测试,我需要能够检测android系统键盘是否可见,并(如果可能)读取一些键(即如果返回键显示Done而不是NextEnter)。我知道有适用于iOS的keyboard_visible?命令,但我无法找到适用于Android的类似命令。

有没有人构建自己的函数来处理这些实例?

一种方法可以使用Android SDK中名为uiautomator的工具在Android上转储屏幕当前内容。 然后,您可以检查此内容以获取所需的任何内容。 这不是最优雅的解决方案,但它可能会起作用。 看看这篇文章。

葫芦处理"完成操作使用"对话框

windown_input_method = %x(adb -s #{ENV['ADB_DEVICE_ARG']} shell dumpsys window InputMethod | grep "mHasSurface")
windown_input_method.include?("isReadyForDisplay()=true")

如果键盘可见,则返回 true,如果不可见,则返回 false。ENV['ADB_DEVICE_ARG'] 是环境变量,用于保存连接的安卓设备的设备 ID。如果您始终在一台设备上运行,只需

windown_input_method = %x(adb shell dumpsys window InputMethod | grep "mHasSurface")
windown_input_method.include?("isReadyForDisplay()=true")

会做的

相关内容

  • 没有找到相关文章

最新更新