前言
今天大姚給大家分享一個 .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