【问题标题】:Calabash Android: how to send app to the background (simulate device/hardware Home button)?Calabash Android:如何将应用程序发送到后台(模拟设备/硬件主页按钮)?
【发布时间】:2014-03-14 00:32:57
【问题描述】:

Calabash Android 中有没有一种方法可以将我的应用程序发送到后台?也就是说,模拟设备/硬件的Home键?

其次,能否将应用带回前台?

【问题讨论】:

    标签: android automated-tests homescreen calabash


    【解决方案1】:

    这可以通过以下方式完成:

    Then /^I go home$/ do
      system "#{default_device.adb_command} shell input keyevent KEYCODE_HOME"
    end
    


    附言如有必要,您还可以在system "..." 行之后添加sleep <some_value_in_seconds>。

    【讨论】:

    • 我也建议阅读krazyrobot.com/2014/02/…。您可以从那里使用keyboard_enter_keyevent 方法。所以它将是keyboard_enter_keyevent('KEYCODE_HOME')
    【解决方案2】:

    据我所知,该操作目前不存在。你可以在这里找到(大部分)所有可用的操作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,因为您将无法从主屏幕获取任何查询信息。不管怎样,祝你好运,我希望我能帮上点忙!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-16
      • 1970-01-01
      • 2011-07-19
      相关资源
      最近更新 更多