1

我正在使用 Calabash 测试 iOS 应用程序,遇到了命令scroll 'UIScrollView', :down向下滚动错误视图的问题,因为它找到的第一个视图是 UIPageViewController,而不是其中的滚动视图。

有什么办法可以区分这两种观点吗?基本的 UIScrollView 没有自定义类,我不想仅仅为了测试而创建一个。还有其他选择吗?我在葫芦文档中找不到任何有用的东西。

干杯!

4

2 回答 2

4

Calabash 查询支持按索引查找。这种方法很脆弱,因为查询依赖于其他视图而不是您正在寻找的视图来正确确定要匹配的视图。UI 其余部分的更改可能会导致这些查询中断。

但是,如果您没有唯一标识符,则使用 index 是绝对正确的并且不是一个糟糕的解决方案,您应该谨慎行事。

query("UIScrollView index:1") 将选择第二个UIScrollView。所有手势的查询语法都是相同的。

于 2015-03-20T09:30:59.240 回答
0

如果没有可以让您区分的自定义细节,但您知道总是只有这两个。你可以做类似的事情

sView = query "UIScrollView"
scroll sView[1], :down

我没有测试过这个特定的示例代码。但是查询匹配然后使用特定的匹配是一种有效的方法。

链接到 github 语法信息https://github.com/calabash/calabash-ios/wiki/05-Query-syntax

于 2015-03-20T09:06:47.250 回答