一个 .NET 开源免费、功能强大的 UI 自动化库
2026/7/27 17:53:19 网站建设 项目流程

前言

今天大姚给大家分享一个 .NET 开源免费(MIT license)、功能强大的 UI 自动化库:FlaUI。

项目介绍

FlaUI 是一个 .NET 开源免费(MIT license)、功能强大 的 UI 自动化库,专为 Windows 桌面应用程序(如 Win32、WinForms、WPF、Store Apps 等应用)的自动化测试而设计。该项目基于 Microsoft 的原生 UI Automation 库构建,并作为这些库的封装器,提供了丰富的功能和灵活的 API,以便开发者能够高效地编写自动化测试脚本。

应用场景

FlaUI 适用于多种自动化测试场景,包括但不限于:

  • 功能测试:验证应用程序的各项功能是否正常工作。

  • 回归测试:在应用程序更新后,确保现有功能不受影响。

  • UI 验证:检查 UI 元素是否按预期显示和交互。

  • 等等等...

项目源代码

创建 FlaUIExercise

创建名为FlaUIExercise的控制台应用:

NuGet 包安装

在 NuGet 包管理器中搜索FlaUI.UIA3安装:

操作记事本(Notepad)

public class Program { static void Main(string[] args) { OperateNotepad(); } /// <summary> /// 操作记事本(Notepad) /// </summary> /// <returns></returns> private static void OperateNotepad() { // 启动记事本 var notepadApp = Application.Launch("notepad.exe"); using (var automation = new UIA3Automation()) { var window = notepadApp.GetMainWindow(automation); window.WaitUntilClickable(); Console.WriteLine(window.Title); // 获取编辑框(Edit 控件) var edit = window.FindFirstDescendant(cf => cf.ByControlType(ControlType.Document)) ?.AsTextBox(); if (edit == null) { Console.WriteLine("未找到记事本编辑区域!"); notepadApp.Close(); return; } // 输入文本 edit.Text = "⚔【DotNetGuide专栏C#/.NET/.NET Core编程技巧练习集】C#/.NET/.NET Core编程常用语法、算法、技巧、中间件、类库、工作业务实操练习集,配套详细的文章教程和代码示例,助力快速掌握C#/.NET/.NET Core中各种编程常用语法、算法、技巧、中间件、类库、工作业务实操等等。"; notepadApp.Close(); } return; } }

项目源码地址

更多项目实用功能和特性欢迎前往项目开源地址查看👀,别忘了给项目一个Star支持💖。

  • GitHub开源地址:https://github.com/FlaUI/FlaUI

  • 本文代码示例:https://github.com/YSGStudyHards/DotNetExercises/tree/master/FlaUIExercise

优秀项目和框架精选

该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没🤞)。

  • GitHub开源地址:https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md

  • Gitee开源地址:https://gitee.com/ysgdaydayup/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询