Make use of TAPL in quickswitch tests
Test: atest FlickerTests:QuickSwitchFromLauncherTest FlickerTests:QuickSwitchBetweenTwoAppsBackTest FlickerTests:QuickSwitchBetweenTwoAppsBackTest Bug: 217379707 Change-Id: I40ff578b7ae26463b1ba6d06e7e15f0910f4b5a3
This commit is contained in:
@@ -23,6 +23,7 @@ import android.platform.test.annotations.RequiresDevice
|
||||
import android.view.Surface
|
||||
import android.view.WindowManagerPolicyConstants
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.launcher3.tapl.LauncherInstrumentation
|
||||
import com.android.server.wm.flicker.FlickerBuilderProvider
|
||||
import com.android.server.wm.flicker.FlickerParametersRunnerFactory
|
||||
import com.android.server.wm.flicker.FlickerTestParameter
|
||||
@@ -66,6 +67,7 @@ import org.junit.runners.Parameterized
|
||||
@Group1
|
||||
open class QuickSwitchBetweenTwoAppsBackTest(private val testSpec: FlickerTestParameter) {
|
||||
private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
private val taplInstrumentation = LauncherInstrumentation()
|
||||
|
||||
private val testApp1 = SimpleAppHelper(instrumentation)
|
||||
private val testApp2 = NonResizeableAppHelper(instrumentation)
|
||||
@@ -81,6 +83,10 @@ open class QuickSwitchBetweenTwoAppsBackTest(private val testSpec: FlickerTestPa
|
||||
fun buildFlicker(): FlickerBuilder {
|
||||
return FlickerBuilder(instrumentation).apply {
|
||||
setup {
|
||||
test {
|
||||
taplInstrumentation.setExpectedRotation(testSpec.startRotation)
|
||||
}
|
||||
|
||||
eachRun {
|
||||
testApp1.launchViaIntent(wmHelper)
|
||||
wmHelper.waitForFullScreenApp(testApp1.component)
|
||||
@@ -90,18 +96,7 @@ open class QuickSwitchBetweenTwoAppsBackTest(private val testSpec: FlickerTestPa
|
||||
}
|
||||
}
|
||||
transitions {
|
||||
// Swipe right from bottom to quick switch back
|
||||
// NOTE: We don't perform an edge-to-edge swipe but instead only swipe in the middle
|
||||
// as to not accidentally trigger a swipe back or forward action which would result
|
||||
// in the same behavior but not testing quick swap.
|
||||
device.swipe(
|
||||
startDisplayBounds.bounds.right / 3,
|
||||
startDisplayBounds.bounds.bottom,
|
||||
2 * startDisplayBounds.bounds.right / 3,
|
||||
startDisplayBounds.bounds.bottom,
|
||||
if (testSpec.isLandscapeOrSeascapeAtStart) 75 else 30
|
||||
)
|
||||
|
||||
taplInstrumentation.launchedAppState.quickSwitchToPreviousApp()
|
||||
wmHelper.waitForFullScreenApp(testApp1.component)
|
||||
wmHelper.waitForAppTransitionIdle()
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import android.platform.test.annotations.RequiresDevice
|
||||
import android.view.Surface
|
||||
import android.view.WindowManagerPolicyConstants
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.launcher3.tapl.LauncherInstrumentation
|
||||
import com.android.server.wm.flicker.FlickerBuilderProvider
|
||||
import com.android.server.wm.flicker.FlickerParametersRunnerFactory
|
||||
import com.android.server.wm.flicker.FlickerTestParameter
|
||||
@@ -65,6 +66,7 @@ import org.junit.runners.Parameterized
|
||||
@Group1
|
||||
open class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTestParameter) {
|
||||
private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
private val taplInstrumentation = LauncherInstrumentation()
|
||||
|
||||
private val testApp1 = SimpleAppHelper(instrumentation)
|
||||
private val testApp2 = NonResizeableAppHelper(instrumentation)
|
||||
@@ -73,6 +75,10 @@ open class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTes
|
||||
fun buildFlicker(): FlickerBuilder {
|
||||
return FlickerBuilder(instrumentation).apply {
|
||||
setup {
|
||||
test {
|
||||
taplInstrumentation.setExpectedRotation(testSpec.startRotation)
|
||||
}
|
||||
|
||||
eachRun {
|
||||
testApp1.launchViaIntent(wmHelper)
|
||||
wmHelper.waitForFullScreenApp(testApp1.component)
|
||||
@@ -85,34 +91,14 @@ open class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTes
|
||||
?.layerStackSpace
|
||||
?: error("Display not found")
|
||||
|
||||
// Swipe right from bottom to quick switch back
|
||||
// NOTE: We don't perform an edge-to-edge swipe but instead only swipe in the
|
||||
// middle as to not accidentally trigger a swipe back or forward action which
|
||||
// would result in the same behavior but not testing quick swap.
|
||||
device.swipe(
|
||||
startDisplayBounds.right / 3,
|
||||
startDisplayBounds.bottom,
|
||||
2 * startDisplayBounds.right / 3,
|
||||
startDisplayBounds.bottom,
|
||||
if (testSpec.isLandscapeOrSeascapeAtStart) 75 else 30
|
||||
)
|
||||
taplInstrumentation.launchedAppState.quickSwitchToPreviousApp()
|
||||
|
||||
wmHelper.waitForFullScreenApp(testApp1.component)
|
||||
wmHelper.waitForAppTransitionIdle()
|
||||
}
|
||||
}
|
||||
transitions {
|
||||
// Swipe left from bottom to quick switch forward
|
||||
// NOTE: We don't perform an edge-to-edge swipe but instead only swipe in the middle
|
||||
// as to not accidentally trigger a swipe back or forward action which would result
|
||||
// in the same behavior but not testing quick swap.
|
||||
device.swipe(
|
||||
2 * startDisplayBounds.right / 3,
|
||||
startDisplayBounds.bottom,
|
||||
startDisplayBounds.right / 3,
|
||||
startDisplayBounds.bottom,
|
||||
if (testSpec.isLandscapeOrSeascapeAtStart) 75 else 30
|
||||
)
|
||||
taplInstrumentation.launchedAppState.quickSwitchToPreviousAppSwipeLeft()
|
||||
|
||||
wmHelper.waitForFullScreenApp(testApp2.component)
|
||||
wmHelper.waitForAppTransitionIdle()
|
||||
@@ -365,4 +351,4 @@ open class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTes
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import android.platform.test.annotations.RequiresDevice
|
||||
import android.view.Surface
|
||||
import android.view.WindowManagerPolicyConstants
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.launcher3.tapl.LauncherInstrumentation
|
||||
import com.android.server.wm.flicker.FlickerBuilderProvider
|
||||
import com.android.server.wm.flicker.FlickerParametersRunnerFactory
|
||||
import com.android.server.wm.flicker.FlickerTestParameter
|
||||
@@ -62,13 +63,20 @@ import org.junit.runners.Parameterized
|
||||
@Group4
|
||||
class QuickSwitchFromLauncherTest(private val testSpec: FlickerTestParameter) {
|
||||
private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
private val taplInstrumentation = LauncherInstrumentation()
|
||||
|
||||
private val testApp = SimpleAppHelper(instrumentation)
|
||||
|
||||
private val startDisplayBounds = WindowUtils.getDisplayBounds(testSpec.startRotation)
|
||||
|
||||
@FlickerBuilderProvider
|
||||
fun buildFlicker(): FlickerBuilder {
|
||||
return FlickerBuilder(instrumentation).apply {
|
||||
setup {
|
||||
test {
|
||||
taplInstrumentation.setExpectedRotation(testSpec.startRotation)
|
||||
}
|
||||
|
||||
eachRun {
|
||||
testApp.launchViaIntent(wmHelper)
|
||||
device.pressHome()
|
||||
@@ -77,18 +85,7 @@ class QuickSwitchFromLauncherTest(private val testSpec: FlickerTestParameter) {
|
||||
}
|
||||
}
|
||||
transitions {
|
||||
// Swipe right from bottom to quick switch back
|
||||
// NOTE: We don't perform an edge-to-edge swipe but instead only swipe in the middle
|
||||
// as to not accidentally trigger a swipe back or forward action which would result
|
||||
// in the same behavior but not testing quick swap.
|
||||
device.swipe(
|
||||
startDisplayBounds.bounds.right / 3,
|
||||
startDisplayBounds.bounds.bottom,
|
||||
2 * startDisplayBounds.bounds.right / 3,
|
||||
startDisplayBounds.bounds.bottom,
|
||||
50
|
||||
)
|
||||
|
||||
taplInstrumentation.workspace.quickSwitchToPreviousApp()
|
||||
wmHelper.waitForFullScreenApp(testApp.component)
|
||||
wmHelper.waitForAppTransitionIdle()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user