Commit Graph

481 Commits (7e870605d81cd10bda5d553dcd1aca427d9dd5fd)

Author SHA1 Message Date
Mugurell 0f9f439329 For #18591 - Update tests
Some tests trying to "Add to top sites" may fail because of the sticky navbar
now covering that menu item -> scroll the menu up a little.

Some tests that previously were trying to scroll to the bottom of the menu to
interact with navbar options now don't have to. Them trying to interact with
navbar option with the menu opened as collapsed is a good test for the navbar
stickyness.
3 years ago
Elise Richards db76b8fe21
For #19114: check state of sync account when navigating from sync sign in menu item (#19118) 3 years ago
Elise Richards 59c94e447c
For #19005: new tab three-dot menu sync sign in (#19037)
* Show synced tabs or sync account in new tab menu

* Sync sign in item navigates to account settings

* Check account auth and get sync item title

* Look for sync sign in item on home menu for UI test

* Sync sign in menu item UI test
3 years ago
Jonathan Almeida 8bb7abc3fe Disabling tabstray collection tests until #19090 is fixed 3 years ago
Jonathan Almeida 0189fed012 No issue: Use same open tabs tray everywhere 3 years ago
Jonathan Almeida b6f9bbf560 Attempt at fixing openAllTabsInCollectionTest test 3 years ago
Jonathan Almeida 8b1752dd9e Disable/fix tests that rely on Select Tabs button 3 years ago
Oana Horvath 1128f921ad For #18986 & #19016: disabled failing tests changeThemeSetting & changeAccessibiltySettings 3 years ago
MarcLeclair 990bfa7e6d
16900 make navgraph inflation asynchronous (#18889)
* For #16900: implement async navgraph inflation

For #16900: removed nav graph from xml

For #16900: inflate navGraph programatically

For #16900: Made NavGraph inflation asynchronous

For #16900: Changed to block with runBlocking

For #16900: Refactored blocking call into a function

For 16900: NavGraph inflation is now async

We now attach the nav graph (or check if its attached) on every nav call ( an extension function for NavController).
This is done by checking the value of the job stored in PerfNavController.map which keeps track of the job with the NavController as a Key.
If the job hasn't been completed, it will block the main thread until the job is done. The job itself is responsible for attaching the navgraph
to the navcontroller (and the inflation of the latter too)

For 16900: rebased upstream master

For 16900: Rebase on master

For #16900: Fixed Async Navgraph navigation per review comments.

1)The Asynchronous method is now found in NavGraphProvider.kt. It creates a job on the IO dispatcher
2)The Job is tracked through a WeakHashMap from Controller --> NavGraph
3)The Coroutine scope doesn't use MainScope() anymore
4)The Coroutine is cancelled if the Activity is destroyed
5)The tests mockk the blockForNavGraphInflation method through the FenixReoboelectricTestApplication instead of calling the mock every setup()

For #16900: inflateNavGraphAsync now takes navController

For #16900: Pass lifecycleScope to NavGraphProvider

For #16900: removed unused mock

For #16900: Added linter rules for navigate calls

We need linting rules to make sure no one calls the NavController.navigate() methods

For #16900: Added TestRule to help abstract the mocks in the code

For 16900: Fix linting problems

For #16900: Cleaned duplicated code in tests

For #16900: cleaned up NavGraphTestRule for finished test

For #16900: had to revert an accidentally edited file

For #16900: rebased master

* For #16900: Review nits for async navgraph

This is composed of squash commits, the original messages can be found below:

-> DisableNavGraphProviderAssertionRule + kdoc.

Use test rule in RobolectricApplication.

Fix failing CrashReporterControllerTest

Fix blame by -> navigate in tests.

This commit was generated by the following commands only:
```
find app/src/test -type f -exec sed -i '' "/import org.mozilla.fenix.ext.navigateBlockingForAsyncNavGraph/d" {} \;
find app/src/test -type f -exec sed -i "" "s/navigateBlockingForAsyncNavGraph/navigate/g" {} \;
git checkout app/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
```

Fix various blame

This is expected to be squashed into the first commit so, if so, it'd
fix the blame.

Move test rule to helpers pkg.

add missing license header

Add import change I missed

fix unused imports

Replace robolectricTestrunner with test rule.

Improve navGraphProvider docs

Remove unnecessary rule as defined by robolectric.

add clarifying comment to robolectric

remove unnecessary space

* For #16900: nit fixes for MozillaNavigateCheck and lint fixes

3 squash commits:
 *Changed violation message and fixed the lint rule for MozillaNavigateCheck
 *Added suppression to NavController.kt
 *Fixed detekt violations

* For 16900: Fixed failing tests

Co-authored-by: Michael Comella <michael.l.comella@gmail.com>
3 years ago
Adam Novak 39d40ebcc7 Merge tag 'v88.0.0-beta.6' into upstream-sync 3 years ago
Oana Horvath 78f0086b7e For #17979 & #17840: fix and re-enable UI tests affected by main menu changes 3 years ago
Oana Horvath 358a3a3d4c Fix screenshots tests: showDefaultHomeScreen, bookmarksManagementTest 3 years ago
Adam Novak af23310679 Merge tag 'v87.0.0-rc.1' into fork 3 years ago
Arturo Mejia 8ca9f94abb For issue #16557 set autoplay block audio only
by default
3 years ago
Kate Glazko 841dacb69e For 17798: Sync Menu Item 3 years ago
Mugurell 0f0c319896 For #17772 - Collapse browser menu to "Add to Home screen"
The menu will start as collapsed.
Users can then swipe up to expand it.
3 years ago
Elise Richards ca33aef036
For #17770: New tab three-dot menu reorder (#18427)
* Create new menu order for new tab

* Add new tab menu navigation. Dynamically update menu when sync auth is needed. Make new tab menu and browser menu consistent.

* Lint

Lint and refactoring tests

* Tests for default toolbar menu

* Feature flag for request desktop site

Add todos for UI test issue 17979

Add todos for UI tests
3 years ago
AndiAJ e03ffff3b8 Disable failing UI Tests 3 years ago
mergify[bot] a963098465
For #18644: fix metod to verify system notifications (#18721)
(cherry picked from commit 246348501c)

Co-authored-by: Oana Horvath <oana.horvath@softvision.ro>
3 years ago
Oana Horvath 246348501c For #18644: fix metod to verify system notifications 3 years ago
Oana Horvath aacb5e3ebb For #18421: Ignore the ContextMenusTest class because of test failures 3 years ago
Oana Horvath 1c0360af7b Disable customTrackingProtectionSettingsTest 3 years ago
Oana Horvath 11d410de0b Re-enable working UI tests from #18644 3 years ago
Mugurell 060b986f1c For #18644 - Temporarily disabling UI tests that fail on Firebase.
This is a quick solution to resume PR merges.
Investigations and a proper fix is to follow on this same ticket.
3 years ago
Arturo Mejia 869c99afaa For #15372 Optimize the order and messages of onboarding cards 3 years ago
Aaron Train 246c192de3
Closes #18623: Fix Gradle task name in gradlewbuild.py (#18624) 3 years ago
mcarare d0a45bab21 For #17799: Add extensions submenu item. 3 years ago
Oana Horvath 2743f9cf4f
For #18481: waits for url to be visible in TestHelper.verifyUrl() (#18498) 3 years ago
Oana Horvath be86061a11 Add first set of UI tests to Nightly 3 years ago
Oana Horvath a4691675a1 For #14005: fix strict TP tests loading timeout 3 years ago
dependabot[bot] 5259bdf7be Bump cryptography
Bumps [cryptography](https://github.com/pyca/cryptography) from 2.8 to 3.2.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/2.8...3.2)

Signed-off-by: dependabot[bot] <support@github.com>
3 years ago
Oana Horvath 9ac54fc06a For #18325: dismiss GooglePlay ToS dialog after UI test 3 years ago
Adam Novak 824313a21b Merge tag 'v86.1.1' into upstream-sync 3 years ago
Elise Richards 42cc4cb452
For #17802: Match the design for three-dot menu navigation (#17875)
* Feature flag for toolbar menu redesign. Add new items to menu and reorder.

* Handle toolbar items in menu controller

* Remove bookmark from toolbar nav

* Respect toolbar position

* Inline toolbar orientation checks

* Add Todos for bookmark UI tests

* Make variable names consistent
3 years ago
Jan-Erik Rediger 8b7279ebe4
Pass auto-generated build info (version code and name) to Glean (#18230)
This also re-generated the Glean docs due to an update of the bundled
glean-parser.
3 years ago
Oana Horvath 67c8345364 For #18040: no network access startup test 3 years ago
Vitaly V. Pinchuk 8f5244d528
Closes #18150: select tabs button not displayed (#18216)
For #18150: Improve showing/hiding of "Select tabs" button in tabs tray

Payload argument is unavailable after first call of notifyItemChanged() as the
whole View need to be updated.
Inject a "isPrivate" lambda in the adapter so it will always know what tabs are
currently showing and so always ensure the expected behavior.
3 years ago
AndiAJ 3d817204c2 For #18053 Change and fix Intermittent UI test verifyReaderViewToggle 3 years ago
Oana Horvath d7f1117e17 For #16317 UI tests: save longTap preference to restore it 3 years ago
Oana Horvath 4e4bbcc334 For #16317: resets long press delay at the end of UI tests 3 years ago
Jan-Erik Rediger 3e9ab1b150 Glean: Check for renamed reason 3 years ago
Mugurell 611ff8f25b For #17195 - Don't try setting an idle resource if the View is already off screen
Speculative fix based on the Firebase logs which shows that on a second check
of R.id.tab_wrapper it is not found the screen.
It may be because after `advanceToHalfExpandedState` and before getting a
reference to it in `waitForTabTrayBehaviorToIdle` it was already animated off
the screen.
With this in mind I've added a null check for the view reference before trying
to register an idling resource on it's Behavior.

Also added and used a way to click at a specific location in a View, not just
in the default middle in the View.
It was observed from the Firebase videos that a "click" on the topBar actually
selected the private tabs section. This would leave us to believe that the
"click" was caught by that other View which was placed above the x,y middle of
the topBar.
3 years ago
Mugurell 32493491fa For #17195 - Test a potential fix for the test 3 years ago
Oana Horvath 23cc3522aa For #17484, #18003 UI tests: retry closing tab if it fails 3 years ago
Elise Richards bab7693b9d
Remove unneeded temporary UI test ignores (#17980) 3 years ago
Elise Richards d0fd3e82c5
For #17771: three-dot menu reorder (#17838)
* Feature flag for toolbar menu redesign. Add new items to menu and reorder.

* Handle toolbar items in menu controller

* Menu controller tests

* Make icons invisible

* Lint

* UI tests reflect design change

* Refactor test names

* Lint fixes

* UI tests
3 years ago
ekager 08a1e0f728 For #17906 - Allow screenshots for private home screenshot test 3 years ago
Oana Horvath a98b40896d For #15259 UI test: waits for home screen to be visible 3 years ago
AndiAJ e31b4f49e9 For #17195 Fix Intermittent UI test verifyTabTrayNotShowingStateHalfExpanded 3 years ago
AndiAJ e0c70582b8 For #17852 Change and Fix Intermittent UI test openNewTabTest 3 years ago
AndiAJ 46888cc70f For #14523 Fix Intermittent tests verifyContextOpenLinkNewTab & verifyContextOpenLinkPrivateTab 3 years ago
Oana Horvath c6bf949a03 For #17847: Removes editCustomSearchEngineTest UI test 3 years ago
Oana Horvath 5cfd7cc388 For #17847: disables editCustomSearchEngineTest 3 years ago
Oana Horvath f0b7b3b987 For #17847: disables editCustomSearchEngineTest 3 years ago
Andrei Joltan 936966596a
For #16020 Fix Intermittent tests caused by the Menu Button (#17829) 3 years ago
Oana Horvath 9783930ac5 For #16615: UI smoke test customTrackingProtectionSettingsTest 3 years ago
AndiAJ a4a2a59b7d For #12895 Fix Intermittent test navigateBookmarksFoldersTest 3 years ago
Oana Horvath f180d932c8 For #16959: verify page url not content in swipeToSwitchTabTest 3 years ago
AndiAJ c8c0131d00 Go Forward Test Fix 3 years ago
AndiAJ 5eb1a3d210 For #17641 Fix Intermittent test addPredefinedSearchEngineTest 3 years ago
AndiAJ 23e6f7aa91 For #16615: UI Smoke Tests for Tab Crash Reporter 3 years ago
Adam Novak 6d4a47921c Merge tag 'v85.1.1' into upstream-sync 3 years ago
Christian Sadilek 89ad370eb2 Remove SessionManager references from UI tests 3 years ago
Oana Horvath d7b8af78c9 For #9188: wait for page content to appear in Reader mode tests 3 years ago
Oana Horvath 67ff4d460a For #9188: wait for page load in Reader mode 3 years ago
Oana Horvath 46487105d5 For #16615 & #11191: re-enabled ReaderViewTest and added a UI smoke test 3 years ago
Oana Horvath d202daf47e For #16615: UI smoke test mainMenuInstallPWATest 3 years ago
ekager 083fe26f57 For #17542 - Removes flash on renaming top site and fixes title not being updated 3 years ago
Oana Horvath 7c56df41df For #17309, #13447, #14534 UI tests: changed the way page Url is verified 3 years ago
AndiAJ c8c19077ed For #16615: UI Smoke Tests for No history in PB and Add to home screen 3 years ago
AndiAJ f8ea4c5ca1 For #16615: UI Smoke Tests for Tabs Tray 3 years ago
isabelrios e3dc851221 Changes to run tests on beta builds (#16786)
* Changes to run tests on beta builds

* remove dontoptime and fix bookmarks tests

* fix ktlint and smokeTest

* add variable for package name

* rebase and fix conflicts

* add yml files and modify script to run tests

* fix yml file indentation

* changes in kind file and add try_task

* fix error kind file

* fix error kind file 2

* fix error kind file 3

* fix reviewer comments

* remove mockwebserver implementation as per reviewer comment

* run beta tests only on releases branches

* reg exp for master branch

* reg exp for master branch2

* modify try_task with release branch

* remove try file

* let's start by running only one test

* address latest reviewers comments

* double check correct tasks for release branch

* remove try file after confirming beta build run

Co-authored-by: isabel rios <isabelrios@MBP-de-isabel-2.home>
3 years ago
AndiAJ eb910ff5e8 For #16615: UI Smoke Tests for Bookmarks
For #16615: UI Smoke Tests for Bookmarks
3 years ago
Oana Horvath 58cefbbb94 For #16615: Collections UI smoke tests 3 years ago
isabelrios d8584ed632
Changes to run tests on beta builds (#16786)
* Changes to run tests on beta builds

* remove dontoptime and fix bookmarks tests

* fix ktlint and smokeTest

* add variable for package name

* rebase and fix conflicts

* add yml files and modify script to run tests

* fix yml file indentation

* changes in kind file and add try_task

* fix error kind file

* fix error kind file 2

* fix error kind file 3

* fix reviewer comments

* remove mockwebserver implementation as per reviewer comment

* run beta tests only on releases branches

* reg exp for master branch

* reg exp for master branch2

* modify try_task with release branch

* remove try file

* let's start by running only one test

* address latest reviewers comments

* double check correct tasks for release branch

* remove try file after confirming beta build run

Co-authored-by: isabel rios <isabelrios@MBP-de-isabel-2.home>
3 years ago
Oana Horvath 7983a7fc89 For #16615: UI smoke test editCustomSearchEngineTest 3 years ago
AndiAJ fc964862e0 For #16615: UI Smoke Tests for Recently Closed Tabs 4 years ago
Oana Horvath 7ac4af46bc For #10798 & #14526: Apply auto-download test file fix for download UI tests 4 years ago
Oana Horvath 23789c86c4 For #16615: UI smoke test manageDownloadsInDownloadsMenuTest 4 years ago
Oana Horvath d7a35ed6bd For #16966: Remove unnecessary step from mainMenuAddToHomeScreenTest 4 years ago
MarcLeclair 24bce64e0b
16373 Count the # of inflations done on startup (#16778)
* For #16373: Added performance Inflater to counter # of inflations

This class is quite straight forward. The only thing that I have to point out is the onCreateView method. It usually
calls its super if you don't override it. The problem with that is that the super.onCreateView actually uses
android.view. as a prefix for the XML element it tries to inflate. So if we have an element that isn't part
of that package, it'll crash. As I said in the code, a good example is ImageButton. Calling android.view.ImageButton
will make the app crash. The method is implemented the same way that PhoneLayoutInflater does (Another example
is the AsyncLayoutInflater)

* For #16373: Added test for PerformanceInflater

This test got quite awkward / complicated fast.  I wanted to test the  to make sure we don't break *any* of our layouts
and to do so, I decided to just retrieve all our XML in our /res/layout folder. However, this gets quite a bit outside of a unit test scope.
The point was to get every layouts and get their LayoutID through the resources using the testContext we have. It gets even weirder, since some
of the XML tags have special implementation in android. One of them is the <fragment> tag. That tag actually is inflated by the OS using the Factory2
that the Activity.java implements. In order to get around the fragment issue, we just return a basic FrameLayout since the system LayoutInflater doesn't deal
won't ever get a <fragment> tag to inflate. Another issue was the <merge> tag. In order to inflate those, you need 1) a root view and 2) attach your view to it.
In order to be able to test those layouts file, I had to create an empty FrameLayout and use it as the root view for testing. Again, I know this is beyond the spirit of a unit test but if we use this inflater, I think it should make sure that no layouts are broken by it.

* For #16373: Overrode getSystemService to return PerformanceInflater

This allows PerformanceInflater to be called in every inflation to keep track of the number of inflations we do.

* For #16373: Added UI test for # of inflations

* For #16373: Lint fix

* For #167373: Changed the LayoutInflater cloneInContext to take this instead of inflater

The inflater parameter is set on the first call from the OS from  the Window object. However, the activity itself sets multiple factories on the inflater
during its creation (usually through AppCompatDelegateImpl.java). This means that, once we initially set the inflater with a null check, we pass an inflater
that has no factory initially. However, since we keep a reference to it, when cloneInContext was called, it cloned the inflater with the original inflater
which didn't have any factories set up. This meant that the app would crash on either browserFragment creation or any thing that required appCompat (such as
ImageView and ImageButton). Now, passing itself with a cloneInContext means we keep all the factories initially set by the activity or the fragment.

* For #16373: Fixed code issues for PR. No behavior change

* For #16373: fixed some code nits
4 years ago
Oana Horvath 095d07598a Code cleanup in BookmarksRobot and BookmarksTest 4 years ago
Christian Sadilek 36a6d364a7 For #17086 #17143: Temporarily turn off Nimbus 4 years ago
Oana Horvath 0a0dbeb132 Added a description to each smoke test 4 years ago
Oana Horvath b0277c3f39 For #16615: UI smoke test noCrashWithAddonInstalledTest 4 years ago
Oana Horvath f24c6e1316 For #16615: UI smoke test redirectToAppPermissionsSystemSettingsTest 4 years ago
Adam Novak 12bbfa9c4c Merge tag 'v84.1.0' into beta-sync 4 years ago
Oana Horvath 9d5ec47ec3 Fix #16960 & #16959: updateSavedLoginTest, swipeToSwitchTabTest UI smoke tests 4 years ago
Oana Horvath 80ad6dea32 For #16615: UI smoke test updateSavedLoginTest 4 years ago
Oana Horvath 5e046c8f04 For #16615: UI smoke test startBrowsingButtonTest 4 years ago
Oana Horvath 7a08175568 For #16615: Smoke UI test swipeToSwitchTabTest 4 years ago
Oana Horvath 8a579ee62b For #16838: deleted mainMenuOpenInAppTest 4 years ago
Christian Sadilek 3722033a5c For #16032: Support installing recommended add-ons from AMO 4 years ago
Oana Horvath 5867d2830a Split UI smoke tests into smaller tests 4 years ago
Oana Horvath c8f8e2e665 Updates to UI tests using the modified recyclerViewIdlingResources minItemCount 4 years ago
Oana Horvath 894b25855e For #16615: UI smoke test toggleSearchSuggestions 4 years ago
Oana Horvath 2d652acbf2 For #16615: UI smoke test addPredefinedSearchEngineTest 4 years ago
Sebastian Kaspari 2b759e9d6f Integrate new search code from Android Components into Fenix. 4 years ago
jhugman 9cdfb6db4a
Nimbus Global Opt Out (#16543) r=gl 4 years ago
Oana Horvath 2d6d49324e For #16615: UI smoke test firstRunScreenTest 4 years ago