· · 2 دقائق قراءة

Windows App Dev CLI v0.3: تشغيل F5 من الطرفية وأتمتة واجهة المستخدم للوكلاء الذكيين

يُقدّم Windows App Development CLI v0.3 أمر winapp run لتشغيل التطبيقات وتنقيحها من الطرفية، وأمر winapp ui لأتمتة الواجهة، وحزمة NuGet جديدة تتيح dotnet run مع التطبيقات المُحزَّمة.

windows dotnet winui wpf developer-tools cli ai
هذا المقال متاح أيضاً بـ:English, Català, Español, Deutsch, Français, Português, Italiano, 日本語, 中文, 한국어, Русский, हिन्दी, Polski, Türkçe, Bahasa Indonesia, Nederlands

تمت ترجمة هذا المنشور تلقائيًا. للاطلاع على النص الأصلي، انقر هنا.

تجربة F5 في Visual Studio رائعة. لكن فتح VS لمجرد تشغيل تطبيق Windows مُحزَّم وتنقيحه — سواء في خط أنابيب CI، أو سير عمل آلي، أو عندما يُجري وكيل ذكاء اصطناعي الاختبارات — يُشكّل عبئًا زائدًا.

صدر الإصدار v0.3 من Windows App Development CLI للتو، ويعالج هذا الأمر مباشرةً بميزتين رئيسيتين: winapp run وwinapp ui.

winapp run: F5 من أي مكان

يستقبل winapp run مجلد تطبيق غير مُحزَّم وملف manifest، وينفّذ كل ما يفعله VS عند تشغيل التنقيح: تسجيل حزمة loose، وتشغيل التطبيق، والحفاظ على LocalState بين عمليات إعادة النشر.

# قم ببناء التطبيق، ثم شغّله كتطبيق مُحزَّم
winapp run ./bin/Debug

يعمل مع WinUI وWPF وWinForms وConsole وAvalonia والمزيد. صُمِّمت الأوضاع للمطورين وسير العمل الآلي على حد سواء:

  • --detach: يُشغَّل التطبيق ويُعاد التحكم فورًا إلى الطرفية. مثالي لـ CI.
  • --unregister-on-exit: يُزيل الحزمة المُسجَّلة عند إغلاق التطبيق.
  • --debug-output: يلتقط رسائل OutputDebugString والاستثناءات في الوقت الفعلي.

حزمة NuGet جديدة: dotnet run للتطبيقات المُحزَّمة

يتوفر للمطورين العاملين بـ .NET حزمة NuGet جديدة: Microsoft.Windows.SDK.BuildTools.WinApp. بعد التثبيت، يتولى dotnet run إدارة الحلقة الداخلية بأكملها: البناء، وتحضير حزمة loose-layout، والتسجيل في Windows، والتشغيل — كل ذلك في خطوة واحدة.

winapp init
# أو
dotnet add package Microsoft.Windows.SDK.BuildTools.WinApp

winapp ui: أتمتة واجهة المستخدم من سطر الأوامر

هذه هي الميزة التي تفتح سيناريوهات الوكلاء الذكيين. يوفر winapp ui وصولًا كاملًا عبر UI Automation لأي تطبيق Windows قيد التشغيل — WPF وWinForms وWin32 وElectron وWinUI3 — مباشرةً من الطرفية.

ما يمكن تحقيقه:

  • سرد جميع النوافذ على المستوى الأعلى
  • التنقل في شجرة UI Automation الكاملة لأي نافذة
  • البحث عن عناصر بالاسم أو النوع أو معرّف الأتمتة
  • النقر والاستدعاء وتعيين القيم
  • التقاط لقطات الشاشة
  • انتظار ظهور العناصر — مثالي لمزامنة الاختبارات

يُتيح الجمع بين winapp ui وwinapp run سير عملًا كاملًا من الطرفية: بناء ← تشغيل ← تحقق. يمكن للوكيل تشغيل التطبيق، وفحص حالة الواجهة، والتفاعل برمجيًا، والتحقق من النتيجة.

مستجدات أخرى

  • winapp unregister: يحذف حزمة sideloaded عند الانتهاء.
  • winapp manifest add-alias: يُضيف اسمًا مستعارًا لتشغيل التطبيق بالاسم من الطرفية.
  • إكمال تلقائي بـ Tab: تهيئة إكمال PowerShell بأمر واحد.

كيفية التثبيت

winget install Microsoft.WinAppCli
# أو
npm install -g @microsoft/winappcli

الأداة في معاينة عامة. راجع مستودع GitHub للتوثيق الكامل، والإعلان الأصلي لجميع التفاصيل.

شارك:
عرض الكود المصدري لهذا المقال على GitHub ↗
← كتابة Hooks في azd بـ Python وTypeScript و.NET: وداعًا لسكريبتات Shell
Foundry Toolboxes: نقطة نهاية واحدة لجميع أدوات وكلاء الذكاء الاصطناعي →