{"id":20135685,"url":"https://github.com/made-apps/legerity-uno","last_synced_at":"2025-07-03T17:36:00.214Z","repository":{"id":37930131,"uuid":"372037009","full_name":"MADE-Apps/legerity-uno","owner":"MADE-Apps","description":"An extension framework to Legerity for speeding up the development of automated UI tests for Uno Platform applications with Appium/Selenium on .NET","archived":false,"fork":false,"pushed_at":"2024-02-26T09:29:53.000Z","size":53285,"stargazers_count":19,"open_issues_count":26,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-20T00:41:40.661Z","etag":null,"topics":["android","appium","ios","selenium","ui-testing","uno-platform","uwp","xamarin"],"latest_commit_sha":null,"homepage":"https://made-apps.github.io/legerity-uno/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MADE-Apps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["jamesmcroft"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["buymeacoffee.com/jamesmcroft"]}},"created_at":"2021-05-29T17:48:49.000Z","updated_at":"2024-11-20T12:54:58.000Z","dependencies_parsed_at":"2023-12-31T16:27:31.531Z","dependency_job_id":"d0d7c726-ecc6-4f38-be2a-f22be8c8d594","html_url":"https://github.com/MADE-Apps/legerity-uno","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/MADE-Apps/legerity-uno","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MADE-Apps%2Flegerity-uno","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MADE-Apps%2Flegerity-uno/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MADE-Apps%2Flegerity-uno/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MADE-Apps%2Flegerity-uno/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MADE-Apps","download_url":"https://codeload.github.com/MADE-Apps/legerity-uno/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MADE-Apps%2Flegerity-uno/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263370171,"owners_count":23456425,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","appium","ios","selenium","ui-testing","uno-platform","uwp","xamarin"],"created_at":"2024-11-13T21:16:12.986Z","updated_at":"2025-07-03T17:36:00.177Z","avatar_url":"https://github.com/MADE-Apps.png","language":"C#","funding_links":["https://github.com/sponsors/jamesmcroft","buymeacoffee.com/jamesmcroft"],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"assets/ProjectBanner.png\" alt=\"Legerity for Uno project banner\" /\u003e\n\n# Legerity for Uno Platform\n\n\u003cdiv style=\"margin-bottom:16px;\"\u003e\n    \u003cdiv\u003e\n        \u003cdiv\u003e\u003cspan\u003e/\u003cspan\u003eləˈdʒɛr ɪ ti\u003c/span\u003e/ (l\u003ci\u003euh\u003c/i\u003e-\u003cb\u003ejer\u003c/b\u003e-i-tee)\u003c/span\u003e\u003c/div\u003e\n    \u003c/div\u003e\n    \u003cdiv\u003e\n        \u003cdiv\u003e\n            \u003cdiv\u003e\n                \u003cdiv\u003e\u003ci\u003e\u003cspan\u003enoun\u003c/span\u003e\u003c/i\u003e\u003c/div\u003e\n            \u003c/div\u003e\n        \u003c/div\u003e\n        \u003col\u003e\n            \u003cli\u003e\n                \u003cdiv style=\"margin-left:20px\"\u003e\n                    \u003cdiv class=\"LTKOO sY7ric\"\u003e\n                        \u003cdiv style=\"display:inline\" data-dobid=\"dfn\"\u003e\u003cspan\u003ephysical or mental quickness; nimbleness;\n                                agility.\u003c/span\u003e\u003c/div\u003e\n                    \u003c/div\u003e\n                \u003c/div\u003e\n            \u003c/li\u003e\n        \u003c/ol\u003e\n    \u003c/div\u003e\n\u003c/div\u003e\n\n[![GitHub release](https://img.shields.io/github/release/MADE-Apps/legerity-uno.svg)](https://github.com/MADE-Apps/legerity-uno/releases)\n[![Nuget](https://img.shields.io/nuget/v/Legerity.Uno.svg)](https://www.nuget.org/packages/Legerity.Uno/)\n[![Nuget Preview](https://img.shields.io/nuget/vpre/Legerity.Uno.svg?label=nuget%20%28preview%29)](https://www.nuget.org/packages/Legerity.Uno/)\n[![NuGet Downloads](https://img.shields.io/nuget/dt/Legerity.Uno.svg)](https://www.nuget.org/packages/Legerity.Uno)\n[![Build status](https://github.com/MADE-Apps/legerity-uno/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/MADE-Apps/legerity-uno/actions/workflows/ci.yml)\n[![Legerity docs](https://img.shields.io/badge/docs-Legerity%20Uno-blue.svg)](https://made-apps.github.io/legerity-uno/)\n[![Legerity discussions](https://img.shields.io/badge/discuss-Legerity%20Uno-blue.svg)](https://github.com/MADE-Apps/legerity-uno/discussions)\n\nLegerity for Uno Platform is a cross-platform automated UI testing framework for building maintainable, write once, run everywhere tests quickly for [Uno Platform applications](https://www.platform.uno) with .NET.\n\nIt simplifies the development by providing easy-to-use element wrappers for Uno Platform app controls that allow developers to quickly get up and running with UI tests in no time.\n\nLegerity also provides a best practice page object pattern for building UI tests with a maintainable structure. Together with app control wrappers, Legerity for Uno Platform provides the best experience for building maintainable UI automation with speed for Uno Platform apps.\n\n**[Discover what's new in Legerity for Uno Platform](https://github.com/MADE-Apps/legerity-uno/releases)**\n\n## Features ⭐\n\n- **UnoAppManager** - A wrapper around the [Selenium WebDriver](https://github.com/SeleniumHQ/selenium) and [Appium WebDrivers](https://github.com/appium/appium-dotnet-driver) to simplify starting your UI tests. Supports running a single set of UI tests across multiple platforms, or browsers.\n- **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.\n- **[Page Object Generator](tools/Legerity.Uno.PageObjectGenerator)** - A dotnet CLI tool that will automatically create page objects by understanding your Uno Platform page files!\n- **Element Wrappers** - Contains a collection of out-of-the-box wrappers for Uno Platform UI elements across all platforms that are easy to use with interactions.\n- **Testing Frameworks** - Legerity for Uno Platform is agnostic of .NET testing frameworks (e.g. NUnit, xUnit, MSTest, etc.) so you can work with what you know.\n- **CI** - Legerity for Uno Platform is also agnostic of host CI runner platforms (e.g. GitHub Actions, Azure Pipelines, etc.) and can be run anywhere.\n- **Extendable** - `UnoElementWrapper` provides everything you need to build out element wrappers for your own Uno Platform controls.\n\n## Documentation 📃\n\nIf you want to deep dive into the Legerity for Uno Platform framework with details on how to use the features, you can browse the [documentation](https://made-apps.github.io/legerity-uno/) for help getting up and running!\n\nOur documentation includes usages examples, as well as API documentation for your technical reference.\n\n## Installation 💾\n\nLegerity for Uno Platform is publicly available via NuGet. Each available package is detailed below.\n\n| Package | Downloads |\n| ------ | ------ |\n| [![Nuget](https://img.shields.io/nuget/v/Legerity.Uno.svg?label=Legerity+Uno)](https://www.nuget.org/packages/Legerity.Uno/) | [![NuGet Downloads](https://img.shields.io/nuget/dt/Legerity.Uno.svg)](https://www.nuget.org/packages/Legerity.Uno) |\n\n## Support Legerity for Uno Platform 💗\n\nAs many developers know, projects like Legerity for Uno Platform 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.\n\n## Contributing 🚀\n\nLooking to help build Legerity for Uno Platform? Take a look through our [contribution guidelines](CONTRIBUTING.md). We actively encourage you to jump in and help with any issues!\n\n## Building Legerity for Uno Platform 🛠\n\nLegerity for Uno Platform is built using .NET Standard, taking advantage of the new SDK-style projects.\n\nYou can build the solution using Visual Studio with the following workloads installed:\n\n- .NET desktop development\n- .NET Core cross-platform development\n\n## Got components? 💭\n\nDo you have a collection of custom components that you'd like to see added to the Legerity for Uno Platform framework? Feel free to drop a feature request into our [work tracker](https://github.com/MADE-Apps/legerity-uno/issues)!\n\nEven better, why not help build out your custom control wrapper elements within the framework and help out the community!\n\n### UI Automation tooling 🧰\n\nWhen contributing to new element wrappers, we recommended using the [Accessibility Insights tool](https://accessibilityinsights.io/en/). The tool is capable of inspecting and providing property values for Android, Web, and Windows applications.\n\nAlternatively, you can use the [Inspect.exe tool](https://docs.microsoft.com/en-us/windows/win32/winauto/inspect-objects) 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.\n\nFor your Uno Platform web application, you can also use F12 developer tools to inspect your application layout tree.\n\n## License\n\nLegerity for Uno Platform is made available under the terms and conditions of the [MIT license](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmade-apps%2Flegerity-uno","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmade-apps%2Flegerity-uno","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmade-apps%2Flegerity-uno/lists"}