首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >一个 .NET 开源免费、功能强大的 UI 自动化库

一个 .NET 开源免费、功能强大的 UI 自动化库

作者头像
追逐时光者
发布2025-12-25 08:13:06
发布2025-12-25 08:13:06
1430
举报
文章被收录于专栏:编程进阶实战编程进阶实战

前言

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

项目介绍

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

应用场景

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

  • 功能测试:验证应用程序的各项功能是否正常工作。
  • 回归测试:在应用程序更新后,确保现有功能不受影响。
  • UI 验证:检查 UI 元素是否按预期显示和交互。
  • 等等等...

项目源代码

image
image

创建 FlaUIExercise

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

image
image
image
image

NuGet 包安装

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

image
image

操作记事本(Notepad)

代码语言:javascript
复制
    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;
        }
    }
image
image

项目源码地址

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-12-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 项目介绍
  • 应用场景
  • 项目源代码
  • 创建 FlaUIExercise
  • NuGet 包安装
  • 操作记事本(Notepad)
  • 项目源码地址
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档