我試圖在Android設備上運行一些葫蘆測試。如果我在運行測試之前手動關閉屏幕,那麼一切正常。在Nexus 4上,如果我關閉屏幕並嘗試運行測試,那麼我的第一種情況會超時等待元素出現。在Galaxy Nexus上,如果我在關閉屏幕的情況下開始測試,Calabash會喚醒設備並通過測試。設備屏幕睡眠時測試失敗
有沒有一些設備,葫蘆根本無法喚醒? Nexus 4是其中之一嗎?手動打開設備不可行,因爲我會在很多設備上頻繁運行這些測試。
我發現了一些過時的引用來解決這個問題。從2012年發佈的訊息亞當Niedzielski在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
在葫蘆明確禁止列入Operations
模塊:https://github.com/calabash/calabash-android/commit/995daef9b6636e7e4e572aeb5d4f90d6d072320f所以我想這已經不再是推薦的方法。如果我刪除包括,只是鍵入Calabash::Android::Operations.wake_up
我得到一個NameError
。
不錯的解決方法!我沒有想過使用adb。我認爲這會做到這一點。謝謝! – aschmied 2014-12-09 17:57:08
在銀河S3上,我不得不做'KEYBODE_POWER'而不是'KEYCODE_POWER' – 2015-03-19 21:03:12
我在HTC M8上有一個相關的問題:在我的情況下,屏幕不會關閉,而是變暗,而是導致第一個觸摸測試中的事件會丟失(它只是不顯示屏幕,並且永遠不會到達應用程序)。在start_test_server_in_background幫助後將以下代碼添加到app_life_cycle_hooks.rb中: 'system(「#{default_device.adb_command} shell input keyevent KEYCODE_UNKNOWN」)' – dmitrych 2015-05-21 08:53:41