Как проверить, существует ли элемент в иерархии пользовательского интерфейса? Я не хочу, чтобы EarlGrey терпел неудачу, если элемент не существует, но просто проверьте, есть ли он там, мне это нужно для UITableView, где я должен постоянно прокручивать вверх и прокручивать вниз в поисках элемента, но элемент иногда уже находится в текущем представлении для начала .
Как проверить, существует ли элемент в иерархии пользовательского интерфейса?
Ответы (1)
EarlGrey поддерживает Error API: когда API-интерфейсы EarlGrey принимают ссылку 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.
}
person
Gautam
schedule
06.07.2016