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