编写等待对话框的测试的可能方法是什么,应该支持dialogFragment和Dialog(AlertDialog)?
最佳答案
这就是我能够弄清楚的方式,发布示例代码可能会对其他人有所帮助。这个想法是定期检查,直到真正超时发生。
public static void waitForDialogWithText(String text, long timeout) {
waitForDialog(withText(text), timeout);
}
private static void waitForDialog(Matcher<View> viewMatcher, long timeout) {
final long endTime = System.currentTimeMillis() + timeout;
Exception exception = null;
while (System.currentTimeMillis() < endTime) {
try {
// wait for x second // Thread.sleep(x mills)
onView(viewMatcher).check(matches(isDisplayed()));
return;
} catch (Exception e) {
exception = e;
}
}
if (exception != null) {
throw new RuntimeException(exception.getMessage());
}
}
关于Android Espresso - 等待直到显示对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67333426/