Calabash Android:如何将应用程序发送到后台(模拟设备/硬件主页按钮)?

时间:2014-03-14 00:32:57

标签: android automated-tests homescreen calabash

在Calabash Android中有什么方法可以将我的应用程序发送到后台吗?换句话说,模拟设备/硬件主页按钮?

其次,可以将应用程序带回前台吗?

2 个答案:

答案 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,因为您无法从主屏幕获取任何查询信息。无论如何,祝你好运,我希望我能帮助至少一点!