找回密码
 立即注册
首页 业界区 业界 一个 .NET 开源免费、功能强大的 UI 自动化库 ...

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

琦谓 3 小时前
前言

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

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

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

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

1.png

创建 FlaUIExercise

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

3.png

NuGet 包安装

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

操作记事本(Notepad)
  1.     public class Program
  2.     {
  3.         static void Main(string[] args)
  4.         {
  5.             OperateNotepad();
  6.         }

  7.         /// <summary>
  8.         /// 操作记事本(Notepad)
  9.         /// </summary>
  10.         /// <returns></returns>
  11.         private static void OperateNotepad()
  12.         {
  13.             // 启动记事本
  14.             var notepadApp = Application.Launch("notepad.exe");
  15.             using (var automation = new UIA3Automation())
  16.             {
  17.                 var window = notepadApp.GetMainWindow(automation);
  18.                 window.WaitUntilClickable();

  19.                 Console.WriteLine(window.Title);

  20.                 // 获取编辑框(Edit 控件)
  21.                 var edit = window.FindFirstDescendant(cf => cf.ByControlType(ControlType.Document))
  22.                                 ?.AsTextBox();

  23.                 if (edit == null)
  24.                 {
  25.                     Console.WriteLine("未找到记事本编辑区域!");
  26.                     notepadApp.Close();
  27.                     return;
  28.                 }

  29.                 // 输入文本
  30.                 edit.Text = "⚔【DotNetGuide专栏C#/.NET/.NET Core编程技巧练习集】C#/.NET/.NET Core编程常用语法、算法、技巧、中间件、类库、工作业务实操练习集,配套详细的文章教程和代码示例,助力快速掌握C#/.NET/.NET Core中各种编程常用语法、算法、技巧、中间件、类库、工作业务实操等等。";
  31.                 notepadApp.Close();
  32.             }

  33.             return;
  34.         }
  35.     }
复制代码
5.png

项目源码地址


更多项目实用功能和特性欢迎前往项目开源地址查看
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册