我想驗證在片段中繪製的按鈕的存在。該按鈕的可見性和存在取決於使用Retrofit進行的網絡調用/響應。等待在Espresso測試中依賴於網絡呼叫的按鈕
由於異步性,我認爲我應該去IdlingResource。我的問題是,我真的不知道什麼是trueisIdleNow()的好方法。我是否應該試圖通過findElementById(R ..)來獲得元素的持有或者是否存在其他一些典型的「Espresso方式」來執行這些等待斷言?
編輯:
目前的解決方案是簡單地不IdlingResource:
while (timeout-- > 0) {
try {
onView(withId(element)).check(matches(isDisplayed()));
} catch (AssertionError ae) {
MiscUtil.sleep(1000);
continue;
}
return true;
}
但我想這是不是根據基本面咖啡。由於某種原因,執行來自IdlingResource實施的檢查匹配調用會暫停所有線程。