3

UI 階層に要素が存在するかどうかを確認するにはどうすればよいですか? 要素が存在しない場合にEarlGreyが失敗するのは嫌ですが、そこにあるかどうかを確認するだけです.UITableViewにはこれが必要です.UITableViewでは、常に上にスクロールして下にスクロールし、要素を検索する必要がありますが、要素が最初から現在のビューにある場合があります.

4

1 に答える 1

4

EarlGrey はエラー API をサポートします。EarlGrey API が NSError 参照を取得すると、失敗しても API はスローされず、代わりに対応するエラーでエラー参照が埋められます。たとえば、次のコードを使用して、ビュー階層に要素が存在するかどうかを確認 (およびその情報に基づいて動作) します。

NSError *error;
[[EarlGrey selectElementWithMatcher:grey_fooElementMatcher()]
    assertWithMatcher:grey_notNil() error:&error];

if (error && [error.domain isEqual:kGREYInteractionErrorDomain] &&
    error.code == kGREYInteractionElementNotFoundErrorCode) {
  // Element doesn’t exist.
} else if (!error) {
  // Element exists.
}
于 2016-07-06T22:43:20.730 に答える