伙计们无法弄清楚如何使用Calabash框架从导航栏中点击BackButtonItem,我设置了accessibilityLabel,如下所示:
self.navigationItem.leftBarButtonItem?.accessibilityLabel = "goBack"
试图像这样测试它而没有运气:
touch("* marked:'goBack'")
touch_transition('navigationItemButtonView first',
"* marked:'#{goBack}'")
答案 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')
这会带你回去。 从葫芦预定步骤中找到。