A framework for speeding up the development of automated UI tests for Windows, Android, iOS, and Web with Appium/Selenium on .NET
[!NOTE] This is an early preview release and may not initially function as expected. The release is for preliminary testing purposes by the MADE team. Please use it at your own risk. If you do, please provide questions and feedback via Discussions initially before we move into a final release.
✨ New - Overhaul upgrade to support Selenium 4 and Appium 5. Please see #271 for more details on changes. A full changelog will be provided closer to a release.
Full Changelog: https://github.com/MADE-Apps/legerity/compare/v0.14.0...v1.0.0-alpha1
✨ New - Added DateInput
element wrapper for web applications! We've also introduced new By
locator extras and new wait conditions!
🎨 Improvement - Updated the speed of evaluating the data rows that are in the Table
web component! We've also overhauled our test coverage with more targeted, focused tests! There's more work to be done in this space, but we're on the right track to provide additional confidence.
⬆️ Upgrades - Package dependencies have been upgraded to their latest minor versions to continue to improve support and maintainability of Legerity.
📝 Documentation - All contructors, properties, and methods have been updated to include documentation where potential exceptions could be thrown. These are now exposed as part of the XML documentation in the libraries so you will be aware of exceptions you may want to catch depending on their usages. Most exceptions come from Selenium and Appium directly, so are exceptions that are to usually be expected or at least aware of!
Table
data rows by @jamesmcroft in https://github.com/MADE-Apps/legerity/pull/195
Full Changelog: https://github.com/MADE-Apps/legerity/compare/v0.13.1...v0.14.0
Small hotfix for issue with app driver failures in startup causing test runner to execute indefinitely (or until timeout in CI)
Full Changelog: https://github.com/MADE-Apps/legerity/compare/v0.13.0...v0.13.1
✨ New - Introducing dotnet new
templates for setting up the structure for Legerity UI test projects for platforms. Includes templates for Windows, Android, iOS, Web, and one for testing cross-platform!
🎨 Improvement - Web Authentication now includes new page objects for Facebook and Google login flows.
⬆️ Upgrades - Package dependencies have been upgraded to their latest minor versions to continue to improve support and maintainability of Legerity.
📝 Documentation - Legerity's documentation has been overhauled! Everything was stripped back and re-written to provide better clarity on adopt and use Legerity in the development flow of app projects.
dotnet new
templates for Legerity platforms by @jamesmcroft in https://github.com/MADE-Apps/legerity/pull/185
Full Changelog: https://github.com/MADE-Apps/legerity/compare/v0.12.0...v0.13.0
A major restructuring change to decouple the use of the AppManager
from other Legerity specific components. The changes have no impact on existing projects as the original functionality has been maintained while adding new features to support future proofing of Legerity.
In addition to recently added WaitUntil
methods, TryWaitUntil
has been added to allow an attempt to be made at waiting for a condition with an optional exception handler for logging capabilities.
This release also includes a new Web Authentication library with easy-to-use page objects for interacting with web authentication providers like Azure Active Directory.
Full Changelog: https://github.com/MADE-Apps/legerity/compare/v0.11.1...v0.12.0
Minor fix for the StopApps
method of the LegerityTestClass
to ensure exception not thrown due to removal during foreach loop.
Full Changelog: https://github.com/MADE-Apps/legerity/compare/v0.12.0-preview1...v0.12.0-preview2
Fairly major structural change to decouple the use of the AppManager from other Legerity specific components.
The changes should have no impact on existing projects as the original functionality has been maintained while adding new changes to support future proofing of Legerity.
Full Changelog: https://github.com/MADE-Apps/legerity/compare/v0.11.1...v0.12.0-preview1
This patch release includes a page object generator tool that can read your Windows XAML or Android AXML files and automatically create page objects for you! 🚀
Full Changelog: https://github.com/MADE-Apps/legerity/compare/v0.11.0...v0.11.1
Changes in this release include the addition of new methods on the BasePage
to find UI elements using a By
locator, XPath, ID, or name.
This provided needed improvement to the BasePage
for being able to retrieve elements without defaulting to the App
property.
Full Changelog: https://github.com/MADE-Apps/legerity/compare/v0.10.0...v0.11.0
Changes in this release is the ability to perform partial name matching for elements that have selection methods, for example, the ComboBox SelectItem
has an equivalent SelectItemByPartialName
method.
All exposed properties and methods of element wrappers have also been made virtual
to allow for further extensibility of these controls for custom scenarios in test projects. This includes where templates have been applied to Windows controls, for example where the fundamental control is the same, but the naming of fields may differ.
Full Changelog: https://github.com/MADE-Apps/legerity/compare/v0.9.0...v0.10.0