Нулевая проверка наличия элемента не работает должным образом в функциональном тестовом примере.

Предположим, я использую фрагмент кода в методе setup() непосредственно перед запуском такого тестового примера:

if EarlGrey().selectElementWithMatcher(grey_accessibilityID("TabBar-Navigation-Search")).assertWithMatcher(grey_sufficientlyVisible()) != nil {
    TabBarNavigation().navigateToSearch()
} else {
    assentViewModelsSwifts.signInCheck()
    assentViewModelsSwifts.enterLoginCredentials("username", password: "password")
    let visibleSignInButtonMatcher = grey_allOfMatchers(grey_accessibilityID("Login-Button-SignIn"), grey_sufficientlyVisible())
    EarlGrey().selectElementWithMatcher(visibleSignInButtonMatcher).performAction(grey_tap())
    TabBarNavigation().navigateToSearch()
    Log.info("Landed on Search Page")
}

Я сталкиваюсь с ошибкой. Утверждение 'assertWithMatcher: matcherForSufficientlyVisible(>=0.750000)' was not performed because no UI element matching (respondsToSelector(accessibilityIdentifier) && accessibilityID("TabBar-Navigation-Activity")) найдено.

На самом деле я хочу проверить наличие элемента. Если элемент присутствует, выполните определенный шаг или сделайте что-то еще. Но хотя элемент отсутствует на этом конкретном экране, код внутри цикла не выполняется. Любое предложение будет оценено.


person Arjun Kalidas    schedule 03.11.2016    source источник


Ответы (1)


Попробуйте следующий метод для нулевой проверки:

- (instancetype)assertWithMatcher:(id<GREYMatcher>)matcher error:(__strong NSError **)errorOrNil

Попробуйте следующий код, чтобы проверить ноль:

let errorOrNil
EarlGrey().selectElementWithMatcher(grey_accessibilityID("TabBar-Navigation-Search")).assertWithMatcher(grey_sufficientlyVisible(), error:&errorOrNil)
 if errorOrNil != nil {
                TabBarNavigation().navigateToSearch()
            } else {
            assentViewModelsSwifts.signInCheck()
            assentViewModelsSwifts.enterLoginCredentials("username", password: "password")
            let visibleSignInButtonMatcher = grey_allOfMatchers(grey_accessibilityID("Login-Button-SignIn"), grey_sufficientlyVisible())
            EarlGrey().selectElementWithMatcher(visibleSignInButtonMatcher).performAction(grey_tap())
            TabBarNavigation().navigateToSearch()
            Log.info("Landed on Search Page")
            }
person Anni S    schedule 03.11.2016