- Fix some failures related to the top_navbar.py hover function by waiting for a particular top-navbar selector to be displayed before attempting to perform the click.
- Adding a function to click on groups listed inside the profile page.
- Adding user group tests pytest marker to pytest.ini
- Adding new test images for usage in tests.
- Expanding playwright coverage over the groups section via the test_groups.py
- Expanding playwright coverage into verifying that messages can be sent via the groups page inside the test_messaging_system.py
- Adding a couple of helper functions inside the utilities.py to:
1. Have the capability of uploading files via file choosers.
2. Have the capability of taking a screenshot for a particular locator.
3. Have the capability of comparing two given images using python pillow.
- Refactored & enabled the productSupportPage tests.
- Expanded playwright coverage for the "Guides" product page inside the productSupportPage tests.
- Refactored the products_page.py by making the functions public & replace super() with self.
- Refactored the product_support_page.py by making the functions public & replace super() with self.
- Enabled the productSupportPage tests in playwright.yml
- Adding a couple of synonyms inside the search_synonym.py page which are used in tests.
- Adding a WordNetLemmatizer instance in utilities.py which is going to help extracting the singular form of words when searching for synonyms of the search term inside the search results.
- Extending playwright coverage with the first batch of search tests inside the test_main_searchbar.py.
- Adding searchTests marker inside pytest.ini and playwright.yml
- Fixing some failures caused by the recent taxonomy work.
- Isolating the restricted visibility kb articles to avoid flakiness (no longer using a single kb article for multiple tests. Making use of the create_delete_article fixture to create a fresh kb article before each test & delete it when done)
- Removing unused playwright.yml and pytest.ini markers.
- Reworking the waits.
- Adding the https://support.allizom.org/en-US/kb/get-community-support?exit_aaq=1 page to test data.
- Adding the AAQ widget text which is displayed when the "All Products" filter is applied to AAQWidgetMessage for further usage in tests.
- Expanding the locators & actions for the ExploreByTopicsPage class.
- Adding playwright coverage for the "Explore By Topic" page:
- Verifying that the correct explore by topic page header is displayed when changing the topic via the "All Topics" side navbar.
- Verifying that the "Filter by product" successfully updates the displayed list of articles with articles that belong to the chosen product from the "Filter by product" dropdown (by verifying the displayed metadata for each listed article)
- Verifying that the correct AAQ widget text is displayed for each filtered product.
- Verifying the correct AAQ widget redirect for each filtered product.
- Added playwright coverage for the https://github.com/mozilla/sumo/issues/1876 case
- Adding the new test suite to playwright.yml
- Verifying that SUMO redirects to a fallback locale when trying to access an unsupported one.
- Verifying SUMO's fallback mechanism for the fy, zh-Hans and zh-Hant locales. (currently skipped due to a known failure).
- Verifying that accessing all supported SUMO locales returns status code 200
- Verifying SUMO locale priority:
* SUMO should redirect to the locale specified inside the user profile if no locale is specified in the URL.
* Verifying that SUMO should respect the ?lang query parameter and redirect to that particular locale regardless of the locale specified inside the user profile.
* Verifying that SUMO redirects to the locale specified inside the Accept-Language header if no preferred language is set at profile level.
* Verifying the fallback mechanism of the Accept-Language header if the first specified language is not supported or invalid.
- Verifying that selecting all the available options inside the "Language" dropdown menu displayed inside the footer section redirects the user to the chosen locale successfully.
- Adding the required env variables for decouple in order to use the SUMO_LANGUAGES, FALLBACK_LANGUAGES, NON_SUPPORTED_LOCALES dictionaries in tests.
- Fixing the Recent Revisions Dashboard test failures.
- Adding playwright capability of setting/manipulating the http header.
- Adding the newly added kb article translation tests to pytest.ini and playwright.yml workflow file.
- Adding test data for KB article translation.
- Adding Page object & flows for kb article translation.
- Mapping some automated tests with existing TestRail manual tests.
- Expanding the coverage for some existing kb article tests.
- Improving the flow for some existing Edit Article Metadata tests.
- Updating the playwright.yml to contain the group messaging system suite for both scheduled & workflow dispatch executions.
- Fix twitter profile link test since twitter is now "x".
- Fix footer test.
- Added group page to POM & flows.
This coverage includes checks over the expected kb discoverability when using different accounts (non-whitelisted, whitelisted, signed out and admin). The checks are performed on the following SUMO areas: Search Results, Recent Revisions page, Localization Dashboards, KB Dashboards, Media Gallery, Article Discussions page, Frequent Topics page, What Links Here page, KB Category page & user document contributions page.
The above checks are performed against both restricted kb articles & restricted kb templates.
- Updated & Created some additional pages, flows & test data needed for testing the restricted kb articles functionality.
- Updating the workflow file to contain the newly added tests.
- Enable workflow_dispatch so that we can manually trigger the playwright tests when needed.
- Reduced the full functional recurrent test run from daily (Monday-Friday) execution to Monday & Friday only.
- Reduced the number of steps for running all test suites.
- Using allure.step() to define steps in allure report.
- Modifying the soft assertions to play nicely with allure reporting by interleaving check and step.
- Adding allure to poetry.
- Modifying the playwright.yml to exclude the HTML reporter & use Allure reporting instead.
- Attaching screencasts to Allure report on test failure.
- Ensure that the Live status, Needs Update, Ready for L10N, Stale & Expiry Date are successfully displayed & updated according to the corresponding modifications performed at KB article level.
- Ensure that changing the kb article title is also resembled inside the KB Dashboard.
- Ensure that the kb article title link (displayed inside the KB dashboard) redirects the user to the correct kb article page.
Updated the GH playwright workflow to include the new tests in our scheduled GH run.
Also performed some code refactoring by creating 'flow functions' for some repetitive kb actions (revision creation & article deletion).
- Expanding playwright coverage over KB article revision page:
- Expanding playwright coverage over KB contributors:
- Expanding playwright coverage over the Recent Revisions dashboard:
- Updating the GH workflow file to include the newly added runs in our runs.
- Cleaning up the code a bit. Moving the cookie deletion inside the session creation function.
- Disabled the product support page tests until I find a proper fix.
- Trying to fix the create-sessions test by adding a wait.
- Updating the GH workflow file to add the updates to runners.
- Re-organized the folder structure in order to resemble the new IA better.
- Updating the workflow file to include the newly added tests in our GH runners.
- Refactored some bits and pieces.
- Updated the workflow file to schedule the newly added coverage for execution.
- Updated workflow to execute Firefox tests on Monday, Wednesday and Friday and Chrome tests on Tuesday and Thursday.
- Updating some tests, page messages and page methods.
- Adding custom wait for url & user agent retrival in test utilities.
- Adding more test data.
- Updating the workflow to include the newly added tests in our execution.
- Updated the base_page.py file
- Updated the test_utilities.py file. Now reading test data from json, loading GH secrets & implemented the fxa verification code fetching mechanism.
- Updated docker-compose.yml to contain selenoid instead of Selenium Grid.
- Added browsers.json for Firefox and Chrome Selenoid containers management.
- Added different flows for test usage: aaq_flo
(for AAQ submission flow), add_kb_article_flow.py (for KB articles submission), auth_flow.py (for SUMO auth flow), messaging_system_flow.py (flow for sending user messages), edit_profile_data_flow.py (for user data edit and fields clearence)
- Updated and created new messages and pages.
- Added test data
- Added a couple of tests to include coverage over contribute pages, footer section, homepage, top navbar, messaging system & user page tests
- Updated the conftest.py file. Also added functionality to create and attach screenshots to report for failed tests
- Updated pytest.ini to update markers
- Update workflow to have tests trigger at 8:00 AM UTC+3. Each Monday, Wednesday and Friday.