- Adding the functionality of creating a new KB article via kb/new API inside the add_kb_article_flow.py
- Catching potential failures yielded by load_state events not being fired in conftest.py
- Reducing the default navigation timeout from 2 minutes to 30 seconds and using the internal navigate_to_link() function in conftest.py
- Creating kb articles via kb/new API calls in several tests.
- Removing external link validations in test_edit_my_profile.py
- Skipping some flaky tests from Chromium.
- Expanding the user_groups_messages.py to include locale leader removal or addition page messages.
- Modifying the flows in user_group_flow.py to handle actions against group leaders.
- Adding locators and functions for group leaders in groups_page.py page object.
Adding a new test in test_groups.py which verifies:
- That admin users can add and remove locale leaders from groups.
- That the correct banner is displayed when adding or removing a group leader.
- That adding a group leader to a group successfully adds the leader in both the leaders & members group lists.
- 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.
- Fix locators issues due to the transition from selectize to tom-select.
- Extended the checkbox_interaction() function in basepage.py to handle ElementHandles and implemented a retry mechanism if the element check() or uncheck() has failed due to some reason.
- Modified the click() function in basepage.py to:
1. Accept and interact with ElementHandles.
2. Implement a retry mechanism based on a given expected_locator or expected_url after the click action. If the expected_locator or expected_url condition is not fulfilled after the click action we are forcing a re-click on the target element.
3. Wait for networkidle before attempting to click on the element.
- Updated the page objects, tests and flows for which flakiness occurred in the past to use the newly implemented click() and function re-call mechanism.
- Added a helper function in basepage.py which moves the mouse to a given location.
- 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 function inside the utilities.py which returns the GET api response.
- Enabling test_featured_articles_redirect test inside test_product_solutions_page.py.
- Mapping some automated tests with their manual representative via the TestRail tc ID
- Expanded the functionality of playwright to translate articles in different locales (not only in the ro locale) inside the kb_localization_flow.py, and kb_translate_article_page.py
- Calling the clear_the_searchbar() each time playwright tries to add input inside the searchbar inside the fill_into_searchbar() function from the search_page.py page class.
- Added second batch of search tests inside test_main_searchbar.py
- 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
- Expand playwright test coverage over the unread message avatar red dot notification & counter inside test_messaging_system.py
- Add locators for the red dot unread message notification, unread notification counter and functions against them inside top_navbar.py
- Added nltk to the project as a dev dependency.
- Updated the search_page.py page object by adding a couple of new locators, functions against those locators, changing the usage of super() to self and making the functions public.
- Added search_synonym.py which lists a couple of synonyms that can be returned from SUMO when performing a search. Will reduce the list to the ones which are actually used in tests once the tests are written.
- Updated utilities.py with adding the helper functions that will be responsible of handling the search term and evaluating if the correct search results are returned.
- Modified the contact_support_page.py, product_solutions_page.py and product_topics_page.py to use self. instead of super() and made the page functions public.
- Modified the function calls in tests.
- Excluded Thunderbird for Android from the test_system_details_information test.
- Using self. instead of super() and making the functions public inside the kb_translate_article_page.py class.
- Updating the modified function calls in tests.
- Use composition instead of inheritance for the delete_kb_article_flow.py and edit_article_meta_flow.py class.
- Updating modified function calls in tests.
- 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
- Creating the contributor_discussions_page.py page (for /forums SUMO page), discussions_page.py (for /forums/{forumName}/ page) and explore_by_topic_page.py page (for /topics/ SUMO page).
- Instantiating the newly created pages inside sumo_pages.py
- Updating the top-navbar.py with several new locators (for the new top-navbar) & action functions against them.
- Expanding playwright coverage over the top-navbar section by verifying:
- All Explore Help Articles > Explore by product top-navbar options redirects.
- All Explore Help Articles > Explore by topic redirects top-navbar options redirects + the default "Filter by product" & "All Topics" filter when accessing the page.
- All Community Forums > Browse by product top-navbar options redirects.
- All Community Forums > Browse all forum threads by topic top-navbar options redirects + the filter displayed inside the "Topics" dropdown.
- All Ask a Question top-navbar option redirects.
- All Contribute > Contributor Discussions top-navbar redirects + the highlighted option inside the "Contributor discussions" side-navbar