我正在尝试在 Android 设备上运行一些 Calabash 测试。如果我在运行测试之前手动转动屏幕,那么一切正常。在 Nexus 4 上,如果我关闭屏幕并尝试运行测试,那么我的第一个场景会超时等待元素出现。在 Galaxy Nexus 上,如果我在关闭屏幕的情况下开始测试,那么 Calabash 会唤醒设备并且测试通过。
有没有一些 Calabash 根本无法唤醒的设备?Nexus 4 是其中之一吗?手动打开设备是不可行的,因为我会在许多设备上频繁运行这些测试。
我发现了一些对此问题的过时参考。Adam Niedzielski 于 2012 年在https://groups.google.com/forum/#!topic/calabash-android/o6lUuEOuGtE发表的一篇文章建议使用以下钩子app_life_cycle_hooks.rb
include Calabash::Android::Operations
AfterConfiguration do |config|
wake_up
end
但是ruby-gem/bin/calabash-android
在 Calabash 中添加了明确禁止包含该Operations
模块的代码:https ://github.com/calabash/calabash-android/commit/995daef9b6636e7e4e572aeb5d4f90d6d072320f所以我想这不再是推荐的方法。如果我删除包含并只键入Calabash::Android::Operations.wake_up
我会得到一个NameError
.