ios – 使用EarlGrey按导航栏上的后退按钮

ios – 使用EarlGrey按导航栏上的后退按钮,第1张

概述我试图编写一个使用后退按钮的测试时遇到了一些麻烦,希望有人能指出我正确的方向. 我的观点很标准我有一个UINavigation控制器作为我的根视图控制器,我正在推动它到一个点,然后需要回去. 我试图让匹配器找到导航栏中的后退按钮,但没有取得任何成功. 我试图使用标签,id和值,在后退按钮项上设置辅助功能标识符并没有产生匹配,即使它适用于我的其他界面元素. [self.navigationItem. 我试图编写一个使用后退按钮的测试时遇到了一些麻烦,希望有人能指出我正确的方向.

我的观点很标准我有一个UINavigation控制器作为我的根视图控制器,我正在推动它到一个点,然后需要回去.

我试图让匹配器找到导航栏中的后退按钮,但没有取得任何成功.
我试图使用标签,ID和值,在后退按钮项上设置辅助功能标识符并没有产生匹配,即使它适用于我的其他界面元素.

[self.navigationItem.backbarbuttonItem setAccessibilityIDentifIEr:@"Back"];

在我的测试中,我有以下内容:

// Press the back buttonID<GREYMatcher> backMatcher =    grey_allOf(grey_accessibilityID(@"Back"),grey_sufficIEntlyVisible(),nil);[[EarlGrey selectElementWithMatcher:backMatcher] performAction:grey_tap()];

我使用断点和PO深入研究,发现后退按钮的accessibilityLabel确实设置为@“Back”,但它也与下面的代码不匹配.

// Press the back buttonID<GREYMatcher> backMatcher =    grey_allOf(grey_accessibilityID(@"Back"),nil);[[EarlGrey selectElementWithMatcher:backMatcher] performAction:grey_tap()];
解决方法 问题是你需要一个更具体的匹配器来从UINavigationController获取Back按钮.如果查看测试失败时转储的ui层次结构,您会注意到多个元素具有可访问性标签Back.因此,您需要使用grey_accessibilityTrait匹配器来缩小搜索范围,如下所示:

ID<GREYMatcher> matcherForBackbutton =    grey_allOf(grey_accessibilityLabel(@"Back"),grey_accessibilityTrait(UIAccessibilityTraitbutton),nil);[[EarlGrey selectElementWithMatcher:matcherForBackbutton]    performAction:grey_tap()];
总结

以上是内存溢出为你收集整理的ios – 使用EarlGrey按导航栏上的后退按钮全部内容,希望文章能够帮你解决ios – 使用EarlGrey按导航栏上的后退按钮所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1003696.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存