gpt4 book ai didi

ios - 对元素是否存在的 nil 检查在功能测试用例中没有按预期工作

转载 作者:搜寻专家 更新时间:2023-11-01 07:18:34 24 4
gpt4 key购买 nike

假设我在 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)' 未执行,因为未找到 UI 元素匹配 (respondsToSelector(accessibilityIdentifier) && accessibilityID("TabBar-Navigation-Activity"))

实际上我想检查一个元素是否存在。如果存在元素,则执行某个步骤或执行其他操作。但是,尽管该元素不存在于该特定屏幕上,但循环内的代码并未执行。任何建议将不胜感激。

最佳答案

尝试以下方法进行 nil 检查:

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

尝试下面的代码来检查 nil:

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")
}

关于ios - 对元素是否存在的 nil 检查在功能测试用例中没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40395606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com