- 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.
* Bump django-taggit to 6.1.0
* Curate list of existing tags
* remove merging of fuzzy-matching tags
---------
Co-authored-by: Ryan Johnson <rjohnson@mozilla.com>
- 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.