Awesome Open Source
Awesome Open Source
Legerity project banner

Legerity

/ldr ti/ (luh-jer-i-tee)
noun
  1. physical or mental quickness; nimbleness; agility.

GitHub release Nuget Nuget Preview NuGet Downloads Build status Legerity docs Legerity discussions

Legerity is an automated UI testing framework for building maintainable tests quickly for Windows, Android, iOS, and Web applications with C#/.NET.

It simplifies the development by providing easy-to-use element wrappers for native app controls that allow developers to quickly get up and running with UI tests in no time.

Legerity also provides a best practice page object pattern for building UI tests with a maintainable structure. Together with native app control wrappers, Legerity provides the best experience for building maintainable UI automation with speed.

Discover what's new in Legerity

Features

  • AppManager - A wrapper around the Selenium WebDriver and Appium WebDrivers to simplify starting your UI tests. Supports running a single set of UI tests across multiple platforms, or browsers.
  • Page Object Pattern - Provides a BasePage that can be used to create page objects associated with pages in your application that are easy to implement and maintain.
  • Element Wrappers - Contains a collection of out-of-the-box wrappers for native UI elements that are easy to use with interactions.
  • Testing Frameworks - Legerity is agnostic of .NET testing frameworks (e.g. NUnit, xUnit, MSTest, etc.) so you can work with what you know.
  • CI - Legerity is also agnostic of host CI runner platforms (e.g. GitHub Actions, Azure Pipelines, etc.) and can be run anywhere.
  • Extendable - Legerity.Windows, Legerity.Android, Legerity.IOS, Legerity.Web, Legerity.MADE, Legerity.Telerik.Uwp, Legerity.WCT, and Legerity.WinUI packages include out-of-the-box platform element wrappers for you to use. We also provide the Legerity.Core for you to extend your UI components too.

Documentation

If you want to deep dive into the Legerity framework with details on how to use the features, you can browse the documentation for help getting up and running!

Our documentation includes usages examples, as well as API documentation for your technical reference.

Installation

Legerity is publicly available via NuGet. Each available package is detailed below.

For non-core platform controls, for example, WinUI or the Windows Community Toolkit, we're providing additional extension packages for you to take advantage of within your test projects.

Package Downloads
Nuget NuGet Downloads
Nuget NuGet Downloads
Nuget NuGet Downloads
Nuget NuGet Downloads
Nuget NuGet Downloads
Nuget NuGet Downloads
Nuget NuGet Downloads
Nuget NuGet Downloads
Nuget NuGet Downloads
Nuget NuGet Downloads

Support Legerity

As many developers know, projects like Legerity are built and maintained in spare time. If you find this project useful, please Star the repo and if possible, sponsor the project development on GitHub.

Contributing

Looking to help build Legerity? Take a look through our contribution guidelines. We actively encourage you to jump in and help with any issues!

Building Legerity

Legerity is built using .NET Standard, taking advantage of the new SDK-style projects.

You can build the solution using Visual Studio with the following workloads installed:

  • .NET desktop development
  • .NET Core cross-platform development

Got components?

Do you have a collection of custom components that you'd like to see added to the Legerity framework? Feel free to drop a feature request into our work tracker!

Even better, why not help build out your custom control wrapper elements within the framework and help out the community!

Additional component extensions

Package Downloads Description
Nuget NuGet Downloads Component element wrappers for the razor-wire Vue 3 library

UI Automation tooling

When contributing to new element wrappers, we recommended using the Accessibility Insights tool. The tool is capable of inspecting and providing property values for Android, Web, and Windows applications.

Alternatively, you can use the Inspect.exe tool for Windows applications installed with the Windows SDKs. This is not recommended as the tool is considered legacy and can often cause oddities in UI when using.

License

Legerity is made available under the terms and conditions of the MIT license.


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
C Sharp (276,383
Android (41,572
Hacktoberfest (37,956
Ios (19,551
Dotnet (8,063
Framework (6,749
Testing (6,524
Selenium (3,081
Xamarin (1,774
Selenium Webdriver (1,093
Test Automation (1,034
Uwp (995
Webdriver (529
Test Framework (387
Appium (300
Automated Testing (270
Ui Testing (189
Pageobject (114
Pageobject Pattern (76
Winappdriver (10
Related Projects