Commit Graph

288 Commits

Author SHA1 Message Date
Alex Chau 1ceac5ddfe Implement e2e test for desktop windowing
Code changes:
- TaskView, GroupedTaskView and DesktopTaskView now uses different resId, so it can be differentiated by TAPL
- Extracted result handling of icon loading, so we can override in DesktopTaskView
- DesktopTaskView now load icons, so titleDescription can be loaded. When icons are loaded, contentDescription are applied to respective snapshotViews; icon unloading is ignored
- Track launchDesktopFromRecents and composeRecentsLaunchAnimator in TAPL events so we can test if the TaskView launch path is correct

Test changes:
- Added TaplTestsOverviewDesktop that move 2 TestActivities into Desktop, and launch the DesktopTaskView as static and live tile
- TaplTestsOverviewDesktop is limited to Tangor/cf_tablet only, and added LimitDeviceRule to AbstractLauncherUiTest to enable @AllowedDevices and @IgnoreLimit

TAPL changes (2 APIs added/modified):
- Changed TaskView matcher to use id/task_view_* to match all TaskView types
- When Overview is launcehd from Background, mark the currentTask after the launch as liveTile. When an OverviewTask has the same accessibility node as the liveTile, it'll expect different event when launching.
- [API change] BaseOverview.getTestActivityTask can now matches mutiple test activiites, useful for matching GroupedTaskView and DesktopTaskView; Fix a bug that getTestActivityTask wrongly use `getParent()` which is RecentsView to match activityName.
- In OverviewTask.open, we'll expect different events based on TaskView types and whether it's a live tile. Launching DesktopTaskView will in additional verify Desktop header is present on screen.
- [API change] In OverviewTaskMenu, support tapping Desktop menu and verify Desktop header is present on screen.
- Removed unused OverviewTaskMenuItem

Fix: 320313527
Test: TaplTestsOverviewDesktop
Flag: com.android.window.flags.enable_desktop_windowing_mode
Change-Id: I89261c787364901320f3acb18f01ddad5f62d17c
2024-08-08 10:37:40 +01:00
Vadim Tryshev 9fc3734030 Clearing package data as recommended by owners of the "pm clear" command
Bug: 353541583
Test: running on abtd
Flag: NONE test change
Change-Id: I227eb145f5c2fa5c07972bae15fb66e69e623dd8
2024-07-31 00:50:00 +00:00
Vadim Tryshev eeeaa6da56 Increase clearPackageData timeout
Apparently, on slow devices the operation may time out.

Bug: 353541583
Test: presubmit
Flag: TEST_ONLY
Change-Id: I6a569810d47452012f597e412311066c33aec7bb
2024-07-16 12:31:52 -07:00
Fengjiang Li b87ad6f945 [Launcher Jank] Improve SimpleBroadcastReceiver.java
Bug: 348649441
Flag: NONE - jank fix
Test: manual - presubmit
Change-Id: I17bd7e4d7f0640522476e94edae691f983835f62
2024-07-11 11:12:29 -07:00
Fengjiang Li 1f87d94e59 [Launcher Jank] Avoid SimpleBroadcastReceiver making binder calls on main thread
Fix: 348649441
Flag: NONE - jank fix
Test: manual - presubmit
Change-Id: Ie97713f3f0b1f117662d49c6d6a65651c593d424
2024-06-21 14:37:51 -07:00
Jeremy Sim c1470021c8 Fix flaky test
Attempts to fix a flaky test by ensuring that recents is always cleared before creating a split pair (so the split pair under test is always the same).

Bug: 340935208
Test: testSaveAppPairMenuItemOrActionExistsOnSplitPair(), testSplitTaskTapBothIconMenus()
Flag: TEST_ONLY
Change-Id: Ibc81b90fac531f0e78e93a494ff59073ab5e52cf
2024-06-10 14:51:53 -07:00
Sukesh Ram 05d48b3986 Debug TaplAddConfigWidgetTest test
Flag: NONE
Bug: 324419890
Test: Check logs when flake is reproduced
Change-Id: I90b419aa300df53247fc07e00aabe575a33fb95f
2024-05-02 20:32:09 +00:00
Daniel Akinola 56ccf74899 Revert "Force calculator to launch in fullscreen for taskbar tests"
This reverts commit 8771dfe3dd.

Reason for revert: was only a temporary fix while investigating issue, should be unnecessary after ag/27089675 is landed.

Change-Id: I5963dc77f31eb45c1cdd100788b045891de2d716
2024-04-25 15:49:06 +00:00
dakinola 8771dfe3dd Force calculator to launch in fullscreen for taskbar tests
Taskbar tests are flaking when desktop windowing is enabled due to calculator app being launched in splitscreen unexpectedly during test setup (due to unexpected effect of DesktopModeLaunchParamsModifier on activity launch.) While looking into root cause, this temporary fix to address the test failures ensures that calculator app is always launched in fullscreen, by enforcing it with ActivityOptions.

Bug: 333446588
Bug: 333446588
Flag: None
Test: atest NexusLauncherTests:com.android.quickstep.TaplTestsTaskbar
Test: forrest build with CL (https://android-build.corp.google.com/builds/abtd/run/L47500030003265061)
Change-Id: If12e8490214aa1dd5de89ff8535495c2a0c1fe82
2024-04-22 21:42:09 +00:00
Vadim Tryshev 2a6ce15290 Merge "Removing users synchronously" into main 2024-04-12 17:19:36 +00:00
Vadim Tryshev 2c72271915 Removing users synchronously
Bug: 302400996
Test: presubmit
Flag: N/A
Change-Id: Iac1863039cbb9d612abe416b7aee135eec25f223
2024-04-11 15:59:41 -07:00
Randy Pfohl c21b0000b5 Revert^2 "fixing tests to match new abstraction"
8e4c0b7afb

Change-Id: I9875d6f9c16f1406d0818164a98e790c2b101650
2024-04-11 08:58:22 -07:00
Priyanka Advani 8e4c0b7afb Revert "fixing tests to match new abstraction"
Revert submission 26414135-RecentsViewContainer

Reason for revert: Probable culprit for b/333767026. Will be verifying through ABTD for confirmation and before submitting the revert.

Reverted changes: /q/submissionid:26414135-RecentsViewContainer

Change-Id: Ibafc66cf3677d24e7912d55cb45c948cb6519df7
2024-04-10 21:31:14 +00:00
randypfohl f75709e78b fixing tests to match new abstraction
This change will let us move from activity to other parent views for recent viewss

Change-Id: I2424d94f799f87b2d2262da96b289aac6dfadee9
2024-04-10 09:14:38 -07:00
Schneider Victor-tulias 02e57b3d62 Add ExtendedLongPressTimeoutRule to all AbstractLauncherUiTest
When devices run slow in pre/post-submit, it is possible for a drag to be processed at a long press before the first move event can be created and dispatched. Added a rule to artificially increase this long press timeout in tests.

Flag: N/A
Fixes: 319257820
Test: TAPL tests
Change-Id: I24e0f3baec15db7558351d0cb2bd93a4e49640e8
2024-03-25 11:22:31 -04:00
Sunny Goyal 5ca50490a3 Making some classess accessible in multivalent tests
Bug: 297950111
Flag: None
Test: Presubmit
Change-Id: I2e4b18fc279cb96b3f68d64f95703c11bb885b2a
2024-03-20 13:30:40 -07:00
Tony Wickham b84b8524a1 Add TaplTestsQuickstep#testExcludeFromRecents
- Add ExcludeFromRecentsTestActivity, and add it to the manifest
  with excludeFromRecents="true"
- Add the test to check the current Overview task content
  description, ensuring that the excludeFromRecents task is
  present directly after a gesture but not after going home.
Bug: 324495241
Flag: None
Test: TaplTestsQuickstep#testExcludeFromRecents

Change-Id: I06be53673f0ac06924f79b44f19744da066cc7ea
2024-03-18 22:30:13 +00:00
Sukesh Ram 73b07daab3 Add logs for TaplAddConfigWidgetTest test
Flag: NONE
Bug: 324419890
Test: Check logs when flake is reproduced
Change-Id: I2fdb1e4f96c8095a387280c79e074ee42eb0010c
2024-03-07 18:53:15 +00:00
Uwais Ashraf 9c2f5a4c62 Remove classes related to E2E testing from deviceless test classpath
Fix: 327187136
Flag: NA
Test: gradlew :NexusLauncher:testGoogleWithQuickstepDebugUnitTest
Test: atest Launcher3RoboTests
Test: presubmits passing
Change-Id: I4f05524bdc55d8473f3b5115cc239eb8cc48a856
2024-03-04 13:45:32 +00:00
Uwais Ashraf 77b97c0729 Replace existing Robolectric test task with functioning one.
This CL does the following:
- Creates a dir for multivalentTests
- Creates symlinks for the dir to keep Android Studio happy
- Moves many files to the multivalentTests dir
- Adjusts gradle and soong build files to use the new dir as part of
their source sets.

Test: ./gradlew :NexusLauncher:testGoogleWithQuickstepDebugUnitTest
Test: atest Launcher3RoboTests
Fix: 316553886
Bug: 316553889
Flag: NA
Change-Id: Iae28fd0c0191b3ecf9bd2950800875950cca2622
2024-01-19 21:39:23 +00:00
Vadim Tryshev d48279bf1d Merge "Disabling ViewCaptureRule" into main 2023-12-12 23:10:57 +00:00
Vadim Tryshev 79e12b893d Disabling leak checks in presubmits
They block 36% of presubmit runs

Bug: 313501215
Test: presubmit
Flag: N/A
Change-Id: Id91e5a467dfe2485614a4ac99861670a1afaa533
2023-12-11 10:16:13 -08:00
Vadim Tryshev 229a181771 Disabling ViewCaptureRule
Looks like vire capture needs some time to stabilize; for now,
 it sometimes generates empty view capture data.

Bug: 315482167
Flag: N/A
Test: presubmit
Change-Id: I864ffacf4a3a28cfc01b300ac1df71890f93c5e1
2023-12-08 10:44:48 -08:00
Vadim Tryshev 0ad6d9bcee Waiting for Launcher to stop after quick-starting test apps
Bug: 313926097
Flag: N/A
Test: presubmit
Change-Id: I795571ec191b01929bb871fd021d8653449bb608
2023-12-01 18:22:04 +00:00
Sebastian Franco 0e02d74cbf Moving the static initialization method from TaplTestsLauncher3 to AbstractLauncherUiTest
Flag: NA
Bug: 298234173
Test: atest TaplWorkspaceTest
Change-Id: I49dadefa17ef0ea78ca342b8b6d7bb9e38d4d0c9
2023-11-22 12:43:44 -06:00
Vadim Tryshev ebf08d8b75 Having longer period of waiting for Launcher restart only in Launcher test suites
This will help to avoid breaking other test suites by this increase.

Bug: 311023703
Test: presubmit
Flag: N/A
Change-Id: Ia91b03b72fa6592684e7a1673b9b56448f637dd4
2023-11-15 13:00:37 -08:00
Vadim Tryshev 18c1038ddf Merge "Making killing setup wizard a permanent solution" into main 2023-11-13 20:20:07 +00:00
Vadim Tryshev 94cb915d38 Disabling strict activity leak check more aggressively than in ag/25340909
That CL wasn't sufficient, still seeing:
https://android-build.corp.google.com/test_investigate/?blocking=warning&invocationId=I37300010216048087&status=none&testResultId=TR78329041431354974

Bug: 187761685
Test: presubmit
Flag: N/A
Change-Id: I36979a8929ccb996b81e8d41ec75b9713258c1c3
2023-11-10 16:41:42 -08:00
Vadim Tryshev 1f8ff66235 Making killing setup wizard a permanent solution
It will be killed only in presubmit. In postsubmit, we want to be a true
e2e test exposed to all actual problems, including setup wizard that
doesn't go away.

Bug: 309471958
Test: presubmit
Flag: N/A
Change-Id: I2e877eade060e75e277eb3603d90b659207b5a47
2023-11-10 12:20:45 -08:00
Vadim Tryshev f0732e73d5 Merge "Workarounding setup wizard non-disappearance only in presubmit" into main 2023-11-08 20:29:00 +00:00
Vadim Tryshev e5a1b89220 Making keyguard dismissal a permanent solution
Before, it was considered to be a workaround while System UI has
keyguard bugs. But these bugs will happen in future, and they are
unlikely to be prevented by presubmit tests since they are usually flakes.

The solution that this CL makes permanent is: in presubmit attempt
to unlock SysUI if it's locked. In postsubmit, just make sure it's
unlocked. This way, in postsubmit, we'll know whether tere are active
keyguard bugs.

Bug: 187761685
Test: presubmit
Flag: N/A
Change-Id: Ia9602bc6e9cc8400e939051c45aba92bc197d428
2023-11-07 14:45:58 -08:00
Vadim Tryshev 341e5598b5 Workarounding setup wizard non-disappearance only in presubmit
In postsubmit, we want to see the actual behavior to be aware of real e2e issues.

Bug: 309008042
Test: presubmit
Flag: N/A
Change-Id: Icedf381545dda32ea1dbdd8d215581265627bf3f
2023-11-07 12:33:21 -08:00
Vadim Tryshev 06de17be39 Merge "Adding a TODO to productize killing/dismissal of setup wizard" into main 2023-11-06 22:19:23 +00:00
Vadim Tryshev ca90b8d7d9 Removing assert that setup wizard is visible
Bug: 309496273
Test: presubmit
Flag: N/A
Change-Id: Ie6b77673c120a94d211662c71467635923dda622
2023-11-06 12:38:35 -08:00
Vadim Tryshev a7e283b605 Adding a TODO to productize killing/dismissal of setup wizard
Bug: 309471958
Test: presubmit
Flag: N/A
Change-Id: I8ef3a7310829333132b03453dbb6f3c37b88c364
2023-11-06 10:31:29 -08:00
Vadim Tryshev 8b1881223b Merge "Waiting for the setup wizard to go away" into main 2023-11-06 18:17:46 +00:00
Vadim Tryshev 0fe753af2a Waiting for the setup wizard to go away
This is a workaround for b/309008042 where it appears that after being
dismissed by the test infra, setup wizard doesn't immediately go away.

This CL will wait 2 minutes for the dismissal, and provide a better
diags when the wizard doesn't go away after 2 min.

Bug: 309008042
Test: presubmit
Flag: N/A
Change-Id: I26eb2f202842702af08c424929d74fbd21eb872d
2023-11-04 21:37:25 -07:00
Vadim Tryshev 5ad63608f7 Clean up comment
Bug: 187761685
Test: presubmit
Flag: N/A
Change-Id: Ibe17cd8142689598db1ce5700ef122b67b37e1a7
2023-10-31 15:49:52 -07:00
Uwais Ashraf 4fc9a1001f Replace usage of deprecated initAllFlagsToReleaseConfigDefault() method
Bug: 306088813
Flag: NA
Test: Presubmits passing
Change-Id: Iff852702424f4e18c67a6bd3b110beb528b39e3b
2023-10-31 15:31:18 +00:00
Vadim Tryshev 8695855591 Aggressively unlocking phone while in presubmit
Bug: 303755862
Test: presubmit
Flag: N/A
Change-Id: I6c314c9a42b4e4935cbbfc0faaf7d788c1020697
2023-10-20 19:40:58 +00:00
Pat Manning 24cec69361 Revert "Revert "Combine icon app tests to allow overriding flag ..."
Revert submission 25032768-revert-25007147-tapl-flag-SBORVHYDTI

Reason for revert: Resubmitting for b/304470271

Reverted changes: /q/submissionid:25032768-revert-25007147-tapl-flag-SBORVHYDTI

Change-Id: Ib0bd13a5c2a366160b185a2c6409c607ed7525a1
2023-10-17 15:56:48 +00:00
Tyler Freeman 22781d97d9 Merge "Revert "Combine icon app tests to allow overriding flag for new ..."" into main 2023-10-12 20:06:56 +00:00
Tyler Freeman 1468467706 Revert "Combine icon app tests to allow overriding flag for new ..."
Revert submission 25007147-tapl-flag

Reason for revert: Breaks build: https://b.corp.google.com/issues/305033049

Reverted changes: /q/submissionid:25007147-tapl-flag

Change-Id: I99b5883e64ae25476394a4207c5d6a4d22fc27dc
2023-10-12 18:04:05 +00:00
Pat Manning 654c05837e Merge "Combine icon app tests to allow overriding flag for new icon app chip menu testing as well." into main 2023-10-12 15:59:17 +00:00
Pat Manning 236e738907 Combine icon app tests to allow overriding flag for new icon app chip menu testing as well.
Platinum exlude cl update: cl/572225659

Test: TaplOverviewAppIconMenuTest
Test: TaplAppIconAppChipMenuTest
Bug: 303329286
Bug: 303266562
Fix: 304470271
Change-Id: I4ca163401d6a42961e8955e06c164af0254b1231
2023-10-12 14:53:08 +01:00
Vadim Tryshev 9bf8a4bbc1 Merge "Moving verifyKeyguardInvisible() after other initializations" into main 2023-10-11 20:17:04 +00:00
Vadim Tryshev f782eaba73 Improving diagnostics from fallback recents tests when phone is not unlocked
Failing earlier so that we don't get strange messages from the middle of the test.

Bug: 187761685
Test: presubmit
Flag: N/A
Change-Id: I1e3c70623e6f907bcc6bd0486b6c75afecb610e3
2023-10-10 19:18:22 -07:00
Vadim Tryshev 3c1def4810 Moving verifyKeyguardInvisible() after other initializations
verifyKeyguardInvisible can fail, and then tear down will be called,
potentially accessing fields that currently get assigned after this
call, causing crashes.

Bug: 187761685
Test: presubmit
Flag: N/A
Change-Id: I865dfd70ce1821cee26800f57a13fb202626ea84
2023-10-10 16:37:14 -07:00
Vadim Tryshev 39b4fad9b0 Introducing a method for execution an action on Launcher for teardown
If the test fails to initialize properly, tearDown is still called,
and we may have null Launcher activity.

We want to safely skip using that activity to avoid a NullPointerException
that would hide the original error message.

Bug: 304306290
Test: presubmit
Flag: N/A
Change-Id: I89774a92ede046fa3afadacc62df25f4f496f4e7
2023-10-09 11:29:42 -07:00
Vadim Tryshev d8c049f2af Starting to tighten leak detector checks
This will help to detect leaks earlier, not when we have 3 activities in some cases, but when we have 2.

Adding a parameter that enables more strict detection, and using it in some places.

I'll try to convert as many places as possible to the more strict check after landing this CL.

Bug: 187761685
Test: presubmit
Flag: N/A
Change-Id: Idd5a0386005e46dad8aab222bd77c0240f23f43a
2023-10-02 18:34:32 -07:00