是否可以在Calabash中测试布局?

时间:2014-09-09 08:54:38

标签: android-layout user-interface calabash

calabash是否有一些预定义的功能来测试UI元素的位置?例如:

Given I am on some screen
Then I see element1 LEFT OF element2

1 个答案:

答案 0 :(得分:1)

我想到的唯一解决方案是函数find_coordinate(uiquery)(它包含在Calabash中)。此函数返回元素坐标数组(第一个是x轴上的位置,第二个是y)。

用法示例:

And /^I see '(.*?)' on the left of '(.*?)'$/ do |name1, name2|
  element1_x = find_coordinate("* marked:'#{name1}'")[0]
  element2_x = find_coordinate("* marked:'#{name2}'")[0]

  unless element1_x < element2_x
    raise "Element '#{name1}' is not on the left of element '#{name2}'!"
  end
end