FlaUI - UI automation library for .Net

  •        511

FlaUI is a .NET library which helps with automated UI testing of Windows applications (Win32, WinForms, WPF, Store Apps, ...). It is based on native UI Automation libraries from Microsoft and therefore kind of a wrapper around them. FlaUI wraps almost everything from the UI Automation libraries but also provides the native objects in case someone has a special need which is not covered (yet) by FlaUI. Some ideas are copied from the UIAComWrapper project or TestStack.White but rewritten from scratch to have a clean codebase. So, the commercial solutions are mostly based on multiple of those and/or implement a lot of workaround code to fix those issues. TestStack.White has two versions, one for UIA2 and one for UIA3 but because of the old codebase, it's fairly hard to bring UIA3 to work. For this, it also uses an additional library, the UIAComWrapper which uses the same naming as the managed UIA2 and wraps the UIA3 com interop with them (one more source for errors). FlaUI now tries to provide an interface for UIA2 and UIA3 where the developer can choose, which version he wants to use. It should also provide a very clean and modern codebase so that collaboration and further development is as easy as possible.

https://github.com/Roemer/FlaUI

Tags
Implementation
License
Platform

   




Related Projects

UI Automation Verify (UIA Verify) Test Automation Framework

  •    

UIA Verify is a test automation framework that features the User Interface Automation Test Library (UIA Test Library) and Visual UI Automation Verify (Visual UIA Verify), the graphical user interface tool. The framework facilitates manual and automated testing of the Microsoft...

UI Automation PowerShell Extensions

  •    DotNet

The UIAutomation module simplifies software testing automation when you are working on GUI tests. Based on the UI Automation library that is a part of .Net Framework since 3.0, the module is intended to make life of software engineers as easy as it may be.

Linux Desktop Testing Project

  •    C

Linux Desktop Testing Project is aimed at producing high quality test automation framework (using GNOME / Python) and cutting-edge tools that can be used to test Linux Desktop and improve it. It uses the Accessibility libraries to poke through the application's user interface. We strive to help in building a quality desktop.

EarlGrey - :tea: iOS UI Automation Test Framework

  •    Objective-C

EarlGrey is a native iOS UI automation test framework that enables you to write clear, concise tests.With the EarlGrey framework, you have access to enhanced synchronization features. EarlGrey automatically synchronizes with the UI, network requests, and various queues; but still allows you to manually implement customized timings, if needed.


QuickUIT

  •    

QuickUIT, short for 'Quick User Interface Testing', is an API for testing applications based on the Microsoft UI Automation framework. QuickUIT provides a simple, object-oriented interface for finding and interacting with automation elements. It is developed in C#.

White - TestStack.White

  •    CSharp

White is a framework for automating rich client applications based on Win32, WinForms, WPF, Silverlight and SWT (Java) platforms. It is .NET based and does not require the use of any proprietary scripting languages. Tests/automation programs using White can be written with whatever .NET language, IDE and tools you are already using. White provides a consistent object-oriented API, hiding the complexity of Microsoft's UIAutomation library (on which White is based) and windows messages.Project white has been inactive for some time, but still has many users and is a great UI automation framework.

Software Automation Framework Support

  •    Java

Multiplatform data-driven test automation execution services

KIF - Keep It Functional - An iOS Functional Testing Framework

  •    Objective-C

IMPORTANT! Even though KIF is used to test your UI, you need to add it to your Unit Test target, not your UI Test target. The magic of KIF is that it allows you to drive your UI from your unit tests and reap all the advantages of testing in-process. KIF, which stands for Keep It Functional, is an iOS integration test framework. It allows for easy automation of iOS apps by leveraging the accessibility attributes that the OS makes available for those with visual disabilities.

Poco - A cross-engine test automation framework based on UI inspection

  •    Python

A cross-engine UI automation framework. Unity3D/cocos2dx-*/Android native APP/iOS native APP/(Other engines SDK)/... First you should connect your Android phone, for example, via usb cable and enable the ADB DEBUG MODE.

CUITe (Coded UI Test enhanced) Framework

  •    

CUITe (Coded UI Test enhanced) Framework is a thin layer developed on top of Microsoft Visual Studio Team Test's Coded UI Test engine which helps reduce code, increases readability and maintainability, while also providing a bunch of cool features for the automation engineer.

ProdUI

  •    CSharp

ProdUI is designed to be used when a GUI needs to be manipulated automatically (Prodded). Uses the UI Automation Framework to aid in testing GUI's

Airtest - UI Test Automation Framework for Games and Apps

  •    Python

Airtest provides cross-platform APIs, including app installation, simulated input, assertion and so forth. Airtest uses image recognition technology to locate UI elements, so that you can automate test on games without injecting any code. The test will generate an HTML report, which allows you to quickly locate failed test cases. Use pip to install Airtest python library.

Lightweight Test Automation Framework

  •    ASPNET

The Lightweight Test Automation Framework for ASP.NET was developed and is currently used by the ASP.NET QA Team to automate regression tests for the product. It is designed to run within an ASP.NET application. Tests can be written in any .NET Framework language. They use ...

detox - Gray Box End-to-End Testing and Automation Framework for Mobile Apps

  •    Javascript

Gray box end-to-end testing and automation library for mobile apps. High velocity native mobile development requires us to adopt continuous integration workflows, which means our reliance on manual QA has to drop significantly. Detox tests your mobile app while it's running in a real device/simulator, interacting with it just like a real user.

Splinter - Python test framework for web applications

  •    Python

Splinter is an open source tool for testing web applications using Python. It lets you automate browser actions, such as visiting URLs and interacting with their items. Splinter is an abstraction layer on top of existing browser automation tools such as Selenium, PhantomJS and zope.testbrowser. It has a high-level API that makes it easy to write automated tests of web applications. It has drivers for Chrome and Firefox for browser-based testing, and zope.testbrowser and PhantomJS for headless testing.

QTP TFS Generic Test Integration

  •    

In Microsoft Visual Studio 2010 there is a Generic Test type that allows you to integrate with automation tools like QTP. I have created a pretty simple solution that allows you to use your existing QTP automation scripts within the Microsoft Visual Studio testing framework a...

remote-browser - A low-level browser automation framework built on top of the Web Extensions API standard

  •    Javascript

Remote Browser is a library for controlling web browsers like Chrome and Firefox programmatically using JavaScript. You've likely heard of similar browser automation frameworks before, such as Puppeteer and Selenium. Much like these other projects, Remote Browser can be used to accomplish a wide variety of tasks relating to UI testing, Server Side Rendering (SSR), and web scraping. What makes Remote Browser different from these other libraries is that it's built using standard cross-browser compatible technologies, and its primary goal is to facilitate interactions with existing APIs rather than to create a new one of its own. Remote Browser provides a minimalistic and lightweight framework for automating browsers using vanilla JavaScript, HTML browsing contexts, and the Web Extensions API. If you're already familiar with these technologies, then you already know almost everything that you need to use Remote Browser. If not, then there are vast learning resources out there, like The Mozilla Developer Network (MDN), which can get you up to speed in no time. Be sure to check out the Introduction, the Interactive Tour, and Usage Examples to learn about how Remote Browser makes it easy to use these technologies.

UI Automation COM-to-.NET Adapter

  •    

The UI Automation COM-to-.NET Adapter makes it possible to use the new Windows Automation API 3.0 COM interfaces, with their improved reliability and performance, while still using the same System.Windows.Automation classes as in earlier versions of UI Automation.