我在尝试编写一个使用后退按钮的测试时遇到了一些障碍,希望有人可以用这个为我指明正确的方向。
我的视图非常标准,我有一个 UINavigation 控制器作为我的根视图控制器,我将它推到一个点,然后需要返回。
我试图制作一个匹配器,可以在导航栏中找到后退按钮,但没有任何成功。我尝试使用标签、id 和值,在后退按钮项上设置可访问性标识符并没有导致匹配,即使它适用于我的其他界面元素。
[self.navigationItem.backBarButtonItem setAccessibilityIdentifier:@"Back"];
在我的测试中,我有以下内容:
// Press the back button
id<GREYMatcher> backMatcher =
grey_allOf(grey_accessibilityID(@"Back"), grey_sufficientlyVisible(), nil);
[[EarlGrey selectElementWithMatcher:backMatcher] performAction:grey_tap()];
我使用断点和 PO 进行了深入研究,发现后退按钮的 accessibilityLabel 确实设置为 @"Back" 但它也与以下代码不匹配。
// Press the back button
id<GREYMatcher> backMatcher =
grey_allOf(grey_accessibilityID(@"Back"), grey_sufficientlyVisible(), nil);
[[EarlGrey selectElementWithMatcher:backMatcher] performAction:grey_tap()];