Calabash iOS如何点击后退按钮项目

时间:2016-02-22 16:40:39

标签: ios calabash calabash-ios

伙计们无法弄清楚如何使用Calabash框架从导航栏中点击BackButtonItem,我设置了accessibilityLabel,如下所示:

self.navigationItem.leftBarButtonItem?.accessibilityLabel = "goBack"

试图像这样测试它而没有运气:

touch("* marked:'goBack'")
touch_transition('navigationItemButtonView first',
                       "* marked:'#{goBack}'")

3 个答案:

答案 0 :(得分:2)

问题是UINavigationItem,UITabBarItem和UIToobarItem在运行时被转换为Views。例如,UITabBarItem将转换为UIToobarButton。在转换中,不保留accessibilityIdentifier和accessibilityLabel。

# This will probably get you the left navbar button
query("UINavigationItemButtonView index:0")

有一些方法可以强制保留accessibilityIdentifier,例如从自定义视图中创建导航项。

看一下briar bars/navbar.rb的灵感。我不建议在你的项目中使用野蔷薇;它的生命是不确定的(我是维护者)。

答案 1 :(得分:1)

我建议您尝试query "all * marked:'goBack'",如果仍然没有返回任何结果,只需尝试query "all *"并查看标签是否显示在结果中。

您也可以尝试设置视图的accessibilityIdentifier - 通常这是设置自动化视图的首选方式。

答案 2 :(得分:0)

只是更新它可能对希望使用默认后退按钮的人有所帮助 touch('navigationItemButtonView first')

这会带你回去。 从葫芦预定步骤中找到。