在Calabash Android中有什么方法可以将我的应用程序发送到后台吗?换句话说,模拟设备/硬件主页按钮?
其次,可以将应用程序带回前台吗?
答案 0 :(得分:3)
这可以通过以下方式完成:
Then /^I go home$/ do
system "#{default_device.adb_command} shell input keyevent KEYCODE_HOME"
end
附:如有必要,您也可以在sleep <some_value_in_seconds>
行之后添加system "..."
。
答案 1 :(得分:1)
据我所知,该行动目前尚不存在。您可以在此处找到(大部分)所有可用操作https://github.com/calabash/calabash-android/tree/master/ruby-gem/lib/calabash-android。大多数有趣的选项都在operations.rb文件中。 performAction方法将是最有可能帮助您的方法,因为它具有'go_back'和'press_menu'功能,但目前没有'go_home'功能。当您使用calabsh控制台时,可以键入performAction'list_actions'以查看所有可能的操作。我不确定这是否是一个合理的解决方法,但你可以尝试这样的事情:
until (query "*").empty? do
performAction 'go_back'
end
这将按下后退按钮,直到您到达主屏幕。但是,如果您想要返回应用,则需要重新运行start_test_server_in_background
,因为您无法从主屏幕获取任何查询信息。无论如何,祝你好运,我希望我能帮助至少一点!