Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
winapp ui komutları ve winui-ui-testing becerisi, yapay zeka aracınızın uygulamanızın kullanıcı arayüzünü otomatik olarak incelemesine, onunla etkileşim kurmasına ve doğrulamasına olanak tanır; gördüklerini doğal dille açıklayarak önce test düzeneği kodu yazmadan yineleme yapabilmenizi sağlar.
Kullanıcı arabirimi inceleme komutları
winui-ui-testing becerisi, winui@awesome-copilot eklentisine dahildir.
Eklentiyi kurulum sırasında yüklediyseniz ek yükleme gerekmez.
| Command | Ne yapar? |
|---|---|
winapp ui inspect |
Çalışan uygulamanın erişilebilirlik ağacını döküm eder |
winapp ui screenshot |
Uygulama penceresinin ekran görüntüsünü yakalar |
winapp ui click <selector> |
Bir düğmeye tıklar veya bir öğeyi seçer |
winapp ui invoke <selector> |
Bir denetimde varsayılan eylemi çağırır |
winapp ui search <text> |
Öğe ağacını ada veya AutomationId'ye göre arar |
winapp ui set-value <selector> <value> |
TextBox veya ComboBox değerini ayarlar |
Temsilcinizden uygulamayı test etmesini isteyin
- Uygulamayı çalıştırın:
dotnet run - Temsilcinize doğal dille ilgili bir soru sorun, örneğin:
"Çalışan uygulamaya bakın ve form boş olduğunda Kaydet düğmesine ulaşılıp ulaşılmadığını söyleyin."
- Aracı, uygulamayı incelemek ve yanıt vermek için
winapp ui inspectvewinapp ui screenshotkullanır.
Bu iş akışı, tek bir satır test kodu bile yazmadan önce eksik klavye odağını, devre dışı bırakılmış denetimleri ve düzen sorunlarını tespit etmenizi sağlar.
Otomatikleştirilmiş testler yazma
Uygulamayı etkileşimli olarak keşfettikten sonra temsilcinizden resmi testler oluşturmasını isteyin. Şu başlangıç istemini kullanın:
Write an xUnit UI test for my WinUI 3 app that:
1. Launches the app with dotnet run
2. Verifies the main window title is "My App"
3. Clicks the button with AutomationId "SaveButton"
4. Verifies a success message appears
Use the winapp ui commands for element interaction.
Oluşturulan testler etkileşim katmanı olarak komutları kullandığından winapp ui ayrı bir UI otomasyon çerçevesi olmadan çalışır.
XAML'nizde AutomationId'leri ayarlama
winapp ui click öğeleri güvenilir bir şekilde hedefleyebilmesi için, XAML’inizde AutomationProperties.AutomationId ayarlayın:
<Button AutomationProperties.AutomationId="SaveButton"
Content="Save" />
<TextBox AutomationProperties.AutomationId="TitleInput" />
Aracınıza sorun: "Bu XAML'deki tüm etkileşimli denetimlere AutomationId öznitelikleri ekleyin."
CI'de testleri çalıştırma
komutları bir GitHub Actions iş akışında çalıştırabilirsinizwinapp ui. Testler grafiksel bir oturum gerektirir; runs-on: windows-latest ile bir Windows çalıştırıcısı kullanın.
name: UI tests
on: [push, pull_request]
jobs:
ui-test:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '9.0.x'
- name: Install winapp CLI
run: winget install --id Microsoft.WinAppCLI --silent --accept-package-agreements --accept-source-agreements --disable-interactivity
- name: Build
run: dotnet build
- name: Run UI tests
run: dotnet test --filter Category=UITest
Note
winapp ui komutları, çalışmakta olan bir sürecin canlı erişilebilirlik ağacıyla etkileşim kurar. Testler, test kurulumunun bir parçası olarak uygulamayı başlatmalı (veya bir TestInitialize adımında) ve test sonlandırma aşamasında kapatmalıdır.
Erişilebilirliği otomatik olarak denetleme
Komutu, winapp ui inspect öğe adları, türleri, durumları ve AutomationId'leri gibi tam erişilebilirlik ağacının çıktısını alır. Temsilcinizden erişilebilirlik eksikliklerini gözden geçirmesini isteyin:
Run "winapp ui inspect" on the running app and identify any issues:
- Controls without accessible names
- Missing keyboard focus order
- Buttons or links that aren't reachable by Tab
Report findings as a prioritized list, most critical first.
Bu istem, resmi bir denetim aracı çalıştırmadan önce ilk geçişli erişilebilirlik incelemesi olarak iyi çalışır. Tam erişilebilirlik denetim listesi için bkz. Windows uygulamaları için erişilebilirlik genel bakışı.
İlgili içerik
Windows developer