如何使用 calabash 在 iOS 分页视图中从一个页面滑动到另一个页面

how to swipe from page to page on an iOS pagination view using calabash

我无法向左滑动以从一个视图切换到另一个视图。所以我现在尝试使用屏幕底部的分页点来更改视图。

有人可以告诉我如何使用葫芦触摸点 'n' 吗?

我将返回代码并尝试查看是否可以为该点设置辅助功能标签。但是,如果世界上有人已经通过某种方式解决了这个问题,我会很高兴的。

我使用了以下代码:

Then /^I swipe left on the cell with name "([^\"]*)"$/ do |arg|
swipe :left, :query => "view marked:'#{arg}'",force: :strongs
end

这通过了,但实际上并没有滑动。

编辑:

从我注意到的情况来看,这个点是画出来的,不是一个物体,但我可能弄错了。所以我不能给它贴标签。 我仍在尝试使用滑动来更改页面-

swipe :left, :query => "view marked:'#{arg}'", :offset => {:x => 0, :y => 0}, :"swipe-delta" => {:horizontal => {:dx=> 1000, :dy=>0} },force: :strong

当您使用默认的向左滑动时会发生什么?它是否滑动了一点但没有进入下一页?我们发现默认滑动太小,无法实际切换页面视图,并定义了自定义滑动,这看起来就像您在上面所做的那样。你是什​​么意思它实际上并没有刷卡?查看 this page 了解有关滑动的更多信息。

设置辅助功能绝对是按下 "dot" 的最佳方式,但如果您能找到独特的 class 结构,您也可以使用它:

touch("CellScrollView child * child UIImage")

不过我不推荐这条路线,它会使您的代码对 UI 更改更加敏感。只需添加可访问性标签。

感谢各位误入歧途的帮助和指点。 对我有用的解决方案是:

Then I swipe to the right

定义:

Then /^I swipe to the (left|right|up|down)$/ do |direction|
scroll("scrollView marked:'SCROLL VIEW'", direction)
sleep(STEP_PAUSE) # optional
end 

我会让这个更有活力,但我想我也可以 post 在这里回答并关闭问题。 另外,我还想说的是,虽然我们在'swiping'左边,但由于我们要移动到右边的页面或对象,所以我们必须向右滑动才能移动到右边的对象。