Releases: MADE-Apps/legerity
v0.9.0
What's Changed
Quality of testing improvements for iOS apps. This minor release includes the introduction of some core iOS elements, extra locator helpers for finding elements by label or value, and attribute extensions for getting these same values from an element.
Also changed in this release is there is no longer a requirement to specifiy the automation name for iOS. This has been set by default using the current XCUITest
value. This can be altered, if necessary, on the app manager options with the AutomationName
property.
New element wrappers for iOS include:
- Button
- Label
- ProgressView
- Slider
- Switch
- TextField
- Added iOS core element wrappers and locator improvements by @jamesmcroft in #124
- Bump Selenium.WebDriver.ChromeDriver from 99.0.4844.5100 to 100.0.4896.6000 by @dependabot in #123
Full Changelog: v0.8.2...v0.9.0
v0.8.2
What's Changed
Minor changes to introduce new AndroidByExtras
for supporting content description easily.
Also includes a change to the Legerity logo and project banner.
- Added new AndroidByExtras and attribute extensions by @jamesmcroft in #120
- Bump Selenium.WebDriver.MSEdgeDriver from 99.0.1150.25 to 99.0.1150.46 by @dependabot in #119
- Bump nunit from 3.13.2 to 3.13.3 by @dependabot in #118
- Added new project logo and banner by @jamesmcroft in #121
Full Changelog: v0.8.1...v0.8.2
v0.8.1
What's Changed
- Added parameterless constructors for app manager options by @jamesmcroft in #117
Full Changelog: v0.8.0...v0.8.1
v0.8.0
What's Changed
Minor update to include a new LegerityTestClass
to simplify the setup required for the Legerity AppManager
. The /samples/W3SchoolsWebTests/BaseTestClass.cs
serves as a simple example of how to use this.
Simply set the Options
property in your test class constructor, or pass through if using a test fixture source for multiple platform runs, and call base.StartApp()
in your test startup, and base.StopApp()
in your test cleanup.
Also includes new platform element wrapper specific extension methods for better support of the WaitUntil()
method.
- Bump Microsoft.Edge.SeleniumTools from 3.141.2 to 3.141.3 by @dependabot in #111
- Bump NUnit3TestAdapter from 4.2.0 to 4.2.1 by @dependabot in #110
- Added new issue templates by @jamesmcroft in #112
- Bump Selenium.WebDriver.MSEdgeDriver from 97.0.1072.55 to 99.0.1150.25 by @dependabot in #115
- Bump Microsoft.NET.Test.Sdk from 17.0.0 to 17.1.0 by @dependabot in #113
- Introduced LegerityTestClass & platform WaitUntil conditions by @jamesmcroft in #116
Full Changelog: v0.7.0...v0.8
v0.7.0
What's Changed
- Added WaitUntil conditions by @jamesmcroft in #102
- Bump Selenium.WebDriver.MSEdgeDriver from 95.0.1020.30 to 96.0.1054.26 by @dependabot in #103
- Bump Selenium.WebDriver.MSEdgeDriver from 96.0.1054.26 to 97.0.1072.55 by @dependabot in #107
- Bump NUnit3TestAdapter from 4.1.0 to 4.2.0 by @dependabot in #106
- Bump MSTest.TestAdapter from 2.2.7 to 2.2.8 by @dependabot in #105
- Bump MSTest.TestFramework from 2.2.7 to 2.2.8 by @dependabot in #104
- #82 - Added wait until on application start by @jamesmcroft in #108
- #93 - Added web Table element wrapper by @jamesmcroft in #109
Full Changelog: v0.6.6...v0.7.0
v0.7.0-preview1
What's Changed
- Added WaitUntil conditions by @jamesmcroft in #102
Full Changelog: v0.6.6...v0.7.0-preview1
v0.6.6
What's Changed
Minor change to introduce a DriverOptions
property to the AppManagerOptions
class. This will allow web applications under test have the same additional option capability that is available for Appium run tests.
- Bump Selenium.WebDriver.MSEdgeDriver from 94.0.986 to 95.0.1020.30 by @dependabot in #96
- Bump Microsoft.NET.Test.Sdk from 16.11.0 to 17.0.0 by @dependabot in #95
- Added DriverOptions to all driver configurations by @jamesmcroft in #99
- Updated NuGet packages by @jamesmcroft in #100
- Fixed CI for releases and updated sample projects to .NET 6.0 by @jamesmcroft in #101
Full Changelog: 0.6.5...v0.6.6
Release 0.6.5
Packages available on NuGet
Changes:
Added support for Microsoft Chromium Edge 💻
Legerity previously lacked out-of-the-box support for the Microsoft Chromium Edge version, relying on the user to rename the Chromium Edge driver to match that of the Legacy Edge driver.
Support has now been added for this variant under the WebAppDriverType.EdgeChromium
option. If you were previously using the workaround to launch for Chromium Edge, you can now swap over.
Updated AppManagerOptions ToString
output for tests 💬
Changes have been made to each of the platform specific AppManagerOptions
to output more detail around the configuration of the options.
This improves the readability of using Legerity for cross/multi platform scenarios within the test output.
Updated documentation 📃
Some minor changes to the existing documentation around using Legerity to showcase how it can be used to launch your application for testing under multiple scenarios including:
- Windows
- Android
- Web
- Cross/multi platform
The documentation also provides some information around how Legerity can be used to write UI tests for testing applications built with cross-platform tools such as Xamarin and the Uno Platform.
Release 0.6.4
Packages available on NuGet
Changes:
Launch Appium Server for Android and iOS⭐
You can now launch the Appium Server when you start your applications with the AppManager
via the LaunchAppiumServer
property in both the iOS and Android app manager options.
This is similar functionality for launching the WinAppDriver process for Windows applications from the WindowsAppManagerOptions.LaunchWinAppDriver
property.
Additional By selectors and Driver extensions ✔
To build on top of the out-of-the-box By selectors of Selenium and Appium, we have introduced a new ByExtras
class that contains some additional selectors for you to use in your UI tests. We will build on these to add more as we find need for them.
New By selectors include:
ByExtras.Text
to find elements by their text contentByExtras.PartialText
to find elements by a partial text content
To take advantage of these, we've also provided new extension methods that can be used against your app driver and element references. These extension methods listed below are available for both RemoteWebDriver
and IWebElement
instances.
FindElementByText
FindElementByPartialText
FindElementsByText
FindElementsByPartialText
GetAllElements
Additional Improvements ✨
- Added detail improvements to the output of
ToString()
for each platform's app manager options to help visualize - Added additional constructor for the
BasePage
to provide an override for the trait timeout time when waiting for the page to load WinAppDriverLoadFailedException
stores the details for the inner exception to provide more information when this fails in test runs
Release 0.6
Packages available on NuGet
Changes:
Restructure 🏗
Windows, Android, iOS, Web, and Core components now have their own packages so you can reference only the bits you need for your UI testing needs!
You can continue to use the Legerity NuGet package which is a meta-package referencing all the core and platform- specific components. In your own time, you can migrate to the platform specific NuGet packages for the platforms you need.
New Docs Site 📃
Launched between 0.5 and 0.6, Legerity now has a dedicated docs website that you can use to refer to articles on how to use the framework as well as see API references!
Check it out 👇🏻
https://made-apps.github.io/legerity/
Improvements ✨
- Added fix to
WinAppDriverHelper
when running to ensure that only one instance of the WinAppDriver is running at any one time - Added fix for WinUI
NavigationView
element wrapper to ensure that settings pane item can be located and the expected default width for the compact view is up to date - Added fix for Windows
CalendarDatePicker
to ensure the calendar popup can be located