我有以下基于 Calabash 用 Cucumber 编写的步骤定义。这个名字说明了一切:我想触摸表格视图中的每个单元格并再次返回表格视图。
Then /^I touch every list item and go back again$/ do
total_sections = query("tableView", "numberOfSections")
last_section = total_sections[0] - 1
(0..last_section).each do |section|
total_rows = query("tableView", numberOfRowsInSection:section)
end_of_range = total_rows[0] - 1
(0..end_of_range).each do |row|
scroll_to_row "tableView", row
sleep(STEP_PAUSE)
macro %Q[I touch list item number #{row+1}]
macro %Q[I go back]
end
end
end
这在简单的表格视图中工作正常 - 但更改为包含分段表格视图(AZ)的不同选项卡会使此脚本接触前几个单元格,然后它变得很奇怪:它正确滚动到下一个单元格,但随后它接触到后面的单元格下一个单元格,直到没有可见的单元格可以点击。
这两个表视图之间唯一不同的是失败的表视图具有部分和较低的行高。为什么会这样?