- Fix for concurrency issue in taking and moving screenshots
- Updated BrowserHandler.take_screenshot so that it will store the name of the file that has been saved in a property on the class itself.
- Updated BrowserHandler.move_screenshots_to_folder to take an optional parameter, file_names, that (if provided) will override the default behaviour of moving all .png files from the source to the target folder, and instead will only move files matching the file_names from the source to the target folder.
- Added the ability to specify which rules to use when running Axe reports on a page. This is not a breaking change as the default is still running the report on the full page using default rules
- An example of filtering rules using tags: rule_filter={"runOnly": ['wcag2a', 'wcag2aa']} - this will run WCAG 2.0 Level A and Level AA rules only
- Full Axe accessibility report is now returned regardless of whether violations are found
- Updated Readme to cover work around for using 10.4.0 with Chromium in Linux
- Updated Selenium to version 4.11.2 to enable Chrome For Testing support
- Updated Selenium to version 4.10.0
- No longer required to manually download ChromeDriver, GeckoDriver or EdgeDriver and add to browser_executables folder - Selenium will handle this for you (since v4.6.0)
- Updated required packages to the latest versions in setup.py
- Resolved string formatting issue which prevented the 'for_element_to_have_attribute' method from working
- Axe-core is now fully integrated in to the uitestcore framework
- No longer necessary to pip install axe-selenium-python-nhsuk in your test pack, the framework handles this
- No longer necessary to initialise Axe in your test pack, the framework handles this
- Added the ability to include/exclude elements when running Axe reports on a page. This is not a breaking change as the default is still running the report on the full page
- No longer necessary to define the 'context.browser_options' variable in environment.py if you do not intend on using 'browser_options' in the config
- Updated required packages to the latest versions in setup.py
- Updated required packages to the latest versions in azure-pipelines.yml
- Bug fix - You can now set the browser via command line parameters
- If setting browser via command line, using -Dbrowser=chrome will set context.browser_name to "chrome"
- Added support for attaching files to build runs (previously this was only release runs)
- The
attach_files()
method has been refactored out toattach_files_release()
andattach_files_build()
. These new methods no longer accept cli system arguments for the release/build id and access token being used. Instead these parameters should be given directly from the calling code. - Updated to the latest API version for Azure GET requests
- The
- Added support for setting extra arguments against the webdriver browser options
- These can be given as a list set to context.browser_options
- Geckodriver executable path removed for Linux
- Upgrade to Selenium 4
- This might require a change in any test pack that uses deprecated Selenium functions such as 'find_element_by_id'
- Framework functions have been updated to work with Selenium 4.3.0 including the unit tests
- Added support for Edge for Windows and macOS
- Added support for Firefox for macOS
- New Interrogator functions
- 'get_list_of_texts' - returns a list when you pass a generic locator
- 'get_list_of_attributes' - returns a list when you pass in a generic locator and attribute
- Added Axe reporting functionality
- Added ability to run non-headless tests on macOS using Chrome
- Updated invalid characters to be replaced in 'remove_invalid_characters' function
- Updated required packages to the latest versions in setup.py
- Updated required packages to the latest versions in azure-pipelines.yml
- Updated required packages to the latest versions in setup.py
- Added logic for the is_element_visible function which reduces implicit wait when no wait parameter is passed to the function
- This might require a change in any test packs due to timing changes
- Completed feature #16 - added logging when finding elements
- Fixed Bug #22 - context.browser can be both a browser name and a webdriver object
- Required change in any test packs
- Whenever context.browser is expected to be a string e.g. when setting it from the config file, this should be changed to context.browser_name
- Add support for Firefox
- Handle unknown browser name when opening the browser
- Rename screenshots_api to attachments_api
- Parameterise organisation name in attachments_api
- Remove all other references to NHS in code
- Add function to interactor to clear all cookies
- Update screenshots code to handle slashes in file name
- Changed logging so that it was an optional argument when instantiating BasePage
- Created auto_log decorator for helper classes
- Adding pull request template
- Starting change log
- Fix close_current_window
- Changed the screenshots functionality to emit azure warnings and errors instead of failures when past test results were reporting ghost test failures
- Added unit test coverage and linting checks to build
- Removed Behave fixture and dependencies
- Create interact method to switch out of frame - switch_to_default_content()
- assert_no_failures function in custom_assertion