Calabash Android软按钮和硬按钮检测

时间:2014-06-06 20:33:57

标签: android ruby testing cucumber calabash

我正在使用Calabash为Android和iOS创建测试。

现在,应用程序将使用带有物理按钮的设备上的“菜单”按钮。当没有物理按钮时,它会显示一个菜单选项。

目前,带有物理按钮的设备上的葫芦测试失败(因为它们是使用软按钮设计的)。

有没有办法用葫芦检测手机的型号(或硬按钮的存在)?

1 个答案:

答案 0 :(得分:0)

最初我找到并识别了菜单'通过查询屏幕按钮。

touch("com.android.internal.view.menu.ActionMenuPresenter$OverflowMenuButton marked:'More options'") // terrible way to do this.

但是,这显然不适用于没有显示菜单按钮以支持物理按钮的旧设备。

更好的方法是使用" press_menu"动作:

performAction('press_menu')

这也是预定义的步骤:

Then /^I press the menu key$/

定义于:

calabash-android/ruby-gem/lib/calabash-android/steps/navigation_steps.rb

由:

Then /^I press the menu key$/ do
  performAction('press_menu')
end