Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5f24cc2a authored by Nataniel Borges's avatar Nataniel Borges
Browse files

Use SysUI TAPL on flicker to fix lock screen tests

Some lockscreen related tests are failing (flaky), use SysUI TAPL to mitigate the issue

Bug: 242088970
Test: atest FlickerTests WMShellFlickerTests
Change-Id: Iae55007bf9895b26f11adc62a7c56fed785d9df5
parent 4df53b5d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -45,6 +45,8 @@ android_test {
        "app-helpers-core",
        "launcher-helper-lib",
        "launcher-aosp-tapl",
        "systemui-tapl",
        "systemui-helper",
        "wm-flicker-common-assertions",
        "wm-flicker-common-app-helpers",
        "platform-test-annotations",
+12 −7
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.wm.shell.flicker.bubble

import android.platform.systemui_tapl.controller.LockscreenController
import android.platform.test.annotations.FlakyTest
import android.platform.test.annotations.Postsubmit
import android.platform.test.annotations.Presubmit
@@ -46,18 +47,23 @@ import org.junit.runners.Parameterized
@Group4
class LaunchBubbleFromLockScreen(testSpec: FlickerTestParameter) : BaseBubbleScreen(testSpec) {

    private val lockScreen = LockscreenController.get()

    /** {@inheritDoc} */
    override val transition: FlickerBuilder.() -> Unit
        get() = buildTransition {
            setup {
                test {
                    lockScreen.setUnlockSwipe()
                }
                eachRun {
                    val addBubbleBtn = waitAndGetAddBubbleBtn()
                    addBubbleBtn?.click() ?: error("Bubble widget not found")
                    device.sleep()
                    lockScreen.lockScreen()
                    wmHelper.StateSyncBuilder()
                        .withoutTopVisibleAppWindows()
                        .withKeyguardShowing()
                        .waitForAndVerify()
                    device.wakeUp()
                    lockScreen.turnScreenOn()
                }
            }
            transitions {
@@ -70,8 +76,7 @@ class LaunchBubbleFromLockScreen(testSpec: FlickerTestParameter) : BaseBubbleScr
                        or WindowInsets.Type.displayCutout()
                )
                device.swipe(100, insets.top + 100, 100, device.displayHeight / 2, 4)
                device.waitForIdle(2000)
                instrumentation.uiAutomation.syncInputTransactions()
                wmHelper.StateSyncBuilder().withAppTransitionIdle().waitForAndVerify()

                val notification = device.wait(
                    Until.findObject(
@@ -79,14 +84,14 @@ class LaunchBubbleFromLockScreen(testSpec: FlickerTestParameter) : BaseBubbleScr
                    ), FIND_OBJECT_TIMEOUT
                )
                notification?.click() ?: error("Notification not found")
                instrumentation.uiAutomation.syncInputTransactions()
                wmHelper.StateSyncBuilder().withAppTransitionIdle().waitForAndVerify()
                val showBubble = device.wait(
                    Until.findObject(
                        By.res("com.android.systemui", "bubble_view")
                    ), FIND_OBJECT_TIMEOUT
                )
                showBubble?.click() ?: error("Bubble notify not found")
                instrumentation.uiAutomation.syncInputTransactions()
                wmHelper.StateSyncBuilder().withAppTransitionIdle().waitForAndVerify()
                val cancelAllBtn = waitAndGetCancelAllBtn()
                cancelAllBtn?.click() ?: error("Cancel widget not found")
            }
+2 −0
Original line number Diff line number Diff line
@@ -45,6 +45,8 @@ android_test {
        "truth-prebuilt",
        "launcher-helper-lib",
        "launcher-aosp-tapl",
        "systemui-tapl",
        "systemui-helper",
        "platform-test-annotations",
        "wm-flicker-window-extensions",
    ],
+6 −3
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.server.wm.flicker.launch

import android.platform.systemui_tapl.controller.LockscreenController
import android.platform.test.annotations.FlakyTest
import android.platform.test.annotations.Postsubmit
import android.platform.test.annotations.RequiresDevice
@@ -50,6 +51,8 @@ import org.junit.runners.Parameterized
open class OpenAppFromLockNotificationCold(testSpec: FlickerTestParameter) :
    OpenAppFromNotificationCold(testSpec) {

    private val lockScreen = LockscreenController.get()

    override val openingNotificationsFromLockScreen = true

    override val transition: FlickerBuilder.() -> Unit
@@ -57,7 +60,7 @@ open class OpenAppFromLockNotificationCold(testSpec: FlickerTestParameter) :
            // Needs to run at start of transition,
            // so before the transition defined in super.transition
            transitions {
                device.wakeUp()
                lockScreen.turnScreenOn()
            }

            super.transition(this)
@@ -65,9 +68,9 @@ open class OpenAppFromLockNotificationCold(testSpec: FlickerTestParameter) :
            // Needs to run at the end of the setup, so after the setup defined in super.transition
            setup {
                eachRun {
                    device.sleep()
                    lockScreen.lockScreen()
                    wmHelper.StateSyncBuilder()
                        .withoutTopVisibleAppWindows()
                        .withKeyguardShowing()
                        .waitForAndVerify()
                }
            }
+7 −5
Original line number Diff line number Diff line
@@ -16,9 +16,9 @@

package com.android.server.wm.flicker.launch

import android.platform.systemui_tapl.controller.LockscreenController
import android.platform.test.annotations.FlakyTest
import android.platform.test.annotations.Postsubmit
import android.platform.test.annotations.Presubmit
import android.platform.test.annotations.RequiresDevice
import com.android.server.wm.flicker.FlickerParametersRunnerFactory
import com.android.server.wm.flicker.FlickerTestParameter
@@ -52,6 +52,8 @@ import org.junit.runners.Parameterized
open class OpenAppFromLockNotificationWarm(testSpec: FlickerTestParameter) :
    OpenAppFromNotificationWarm(testSpec) {

    private val lockScreen = LockscreenController.get()

    override val openingNotificationsFromLockScreen = true

    override val transition: FlickerBuilder.() -> Unit
@@ -59,7 +61,7 @@ open class OpenAppFromLockNotificationWarm(testSpec: FlickerTestParameter) :
            // Needs to run at start of transition,
            // so before the transition defined in super.transition
            transitions {
                device.wakeUp()
                lockScreen.turnScreenOn()
            }

            super.transition(this)
@@ -67,9 +69,9 @@ open class OpenAppFromLockNotificationWarm(testSpec: FlickerTestParameter) :
            // Needs to run at the end of the setup, so after the setup defined in super.transition
            setup {
                eachRun {
                    device.sleep()
                    lockScreen.lockScreen()
                    wmHelper.StateSyncBuilder()
                        .withoutTopVisibleAppWindows()
                        .withKeyguardShowing()
                        .waitForAndVerify()
                }
            }
@@ -193,7 +195,7 @@ open class OpenAppFromLockNotificationWarm(testSpec: FlickerTestParameter) :
        super.appWindowIsTopWindowAtEnd()

    /** {@inheritDoc} */
    @Presubmit
    @Postsubmit
    @Test
    override fun appWindowBecomesTopWindow_ShellTransit() =
        super.appWindowBecomesTopWindow_ShellTransit()
Loading