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

Calabash iOS how to tap the back button item

伙计们只是不知道如何使用 Calabash 框架从导航栏点击 BackButtonItem,我设置的 accessibilityLabel 是这样的:

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

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

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

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

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

问题是 UINavigationItem、UITabBarItem 和 UIToobarItem 在运行时被转换为视图。例如,一个 UITabBarItem 被转换为一个 UIToobarButton。在转换中,不保留 accessibilityIdentifier 和 accessibilityLabel 。

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

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

查看 briar bars/navbar.rb 以获取灵感。我不建议在你的项目中使用 briar;它的生命是不确定的(我是维护者)。

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

这会带你回去。 从 calabash 预定义的步骤中找到。