From ef252d85ad582ab759c6167868e3e4d0a90c1a22 Mon Sep 17 00:00:00 2001 From: zakcohen Date: Fri, 25 Jun 2021 10:27:32 -0700 Subject: [PATCH] Make OverviewActions tests more robust, wait for enabled Wait for buttons to be enabled before trying to click on them. Bug: 192006530 Test: TaplTestQuickstep Change-Id: I80e050dcd93b8aae195677f2cd1fed3b53682581 --- .../launcher3/tapl/LauncherInstrumentation.java | 11 +++++++++++ .../com/android/launcher3/tapl/OverviewActions.java | 1 + 2 files changed, 12 insertions(+) diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java index af3617529a..05ccf2e620 100644 --- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java +++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java @@ -926,6 +926,16 @@ public final class LauncherInstrumentation { } } + void waitForObjectEnabled(UiObject2 object, String waitReason) { + try { + assertTrue("Timed out waiting for object to be enabled for " + waitReason + " " + + object.getResourceName(), + object.wait(Until.enabled(true), WAIT_TIME_MS)); + } catch (StaleObjectException e) { + fail("The object disappeared from screen"); + } + } + @NonNull UiObject2 waitForObjectInContainer(UiObject2 container, BySelector selector) { try { @@ -1072,6 +1082,7 @@ public final class LauncherInstrumentation { } void clickLauncherObject(UiObject2 object) { + waitForObjectEnabled(object, "clickLauncherObject"); expectEvent(TestProtocol.SEQUENCE_MAIN, LauncherInstrumentation.EVENT_TOUCH_DOWN); expectEvent(TestProtocol.SEQUENCE_MAIN, LauncherInstrumentation.EVENT_TOUCH_UP); if (!isLauncher3() && getNavigationModel() != NavigationModel.THREE_BUTTON) { diff --git a/tests/tapl/com/android/launcher3/tapl/OverviewActions.java b/tests/tapl/com/android/launcher3/tapl/OverviewActions.java index e3e0f4209d..950c052636 100644 --- a/tests/tapl/com/android/launcher3/tapl/OverviewActions.java +++ b/tests/tapl/com/android/launcher3/tapl/OverviewActions.java @@ -64,6 +64,7 @@ public class OverviewActions { "want to click screenshot button and exit screenshot ui")) { UiObject2 screenshot = mLauncher.waitForObjectInContainer(mOverviewActions, "action_screenshot"); + mLauncher.clickLauncherObject(screenshot); try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer( "clicked screenshot button")) {