戻るボタンを使用するテストを作成しようとして、少し問題が発生しました。うまくいけば、誰かがこれで正しい方向に向けることができます。
私のビューは非常に標準的で、ルート ビュー コントローラーとして 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()];