如何检查UI层次结构中是否存在元素?

时间:2016-07-06 20:27:01

标签: earlgrey

如何检查UI层次结构中是否存在元素?我不希望EarlGrey失败,如果一个元素不存在,但只是检查它是否存在,我需要这个UITableView,我必须不断滚动到顶部并向下滚动搜索元素,但元素有时已经在当前视图上开始

1 个答案:

答案 0 :(得分: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.
}