0

[Android] Check is any activities exist before onView()

The onView().perform() failure due to no Activities is slow, takes
400-500ms. Check if there are Activities before checking ViewConditions.

Bug: 340893303
Change-Id: Ia114d8c6530e7c43f02011ef927ef3b2e6cd9c4f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5542562
Reviewed-by: Mohamed Heikal <mheikal@chromium.org>
Auto-Submit: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Mohamed Heikal <mheikal@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1301640}
This commit is contained in:
Henrique Nakashima
2024-05-15 23:03:43 +00:00
committed by Chromium LUCI CQ
parent 4d9169cbdd
commit 241daff096

@ -26,6 +26,7 @@ import androidx.test.platform.app.InstrumentationRegistry;
import org.hamcrest.Matcher;
import org.hamcrest.StringDescription;
import org.chromium.base.ApplicationStatus;
import org.chromium.base.test.util.RawFailureHandler;
import java.util.ArrayList;
@ -99,6 +100,10 @@ public class ViewConditions {
@Override
protected ConditionStatus checkWithSuppliers() {
if (!ApplicationStatus.hasVisibleActivities()) {
return awaiting("No visible activities");
}
ViewInteraction viewInteraction =
onView(mMatcher).withFailureHandler(RawFailureHandler.getInstance());
String[] message = new String[1];
@ -193,6 +198,10 @@ public class ViewConditions {
@Override
protected ConditionStatus checkWithSuppliers() {
if (!ApplicationStatus.hasVisibleActivities()) {
return fulfilled("No visible activities");
}
try {
onView(mMatcher)
.withFailureHandler(RawFailureHandler.getInstance())