Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Команды winapp ui и навык winui-ui-testing позволяют вашему ИИ-агенту автоматически анализировать, использовать и валидировать пользовательский интерфейс вашего приложения, описывая увиденное естественным языком, чтобы вы могли итерировать без предварительного написания кода тестовой обвязки.
Команды проверки пользовательского интерфейса
Навык winui-ui-testing входит в плагин winui@awesome-copilot. Если вы установили плагин во время настройки, дополнительная установка не требуется.
| Command | Что делает |
|---|---|
winapp ui inspect |
Выводит дерево доступности запущенного приложения |
winapp ui screenshot |
Записывает снимок экрана окна приложения |
winapp ui click <selector> |
Щелкает кнопку или выбирает элемент |
winapp ui invoke <selector> |
Вызывает действие по умолчанию для элемента управления |
winapp ui search <text> |
Поиск в дереве элементов по имени или AutomationId |
winapp ui set-value <selector> <value> |
Задает значение TextBox или ComboBox |
Попросите агента протестировать приложение
- Запустите приложение .
dotnet run - Задайте агенту вопрос на естественном языке, например:
Посмотрите на запущенное приложение и скажите, можно ли нажать кнопку «Сохранить», когда форма пуста.
- Агент использует
winapp ui inspectиwinapp ui screenshotдля изучения приложения и ответа.
Этот рабочий процесс позволяет перехватывать проблемы — отсутствие фокуса клавиатуры, отключенных элементов управления, проблем макета — перед написанием одной строки тестового кода.
Создание автоматических тестов
После интерактивного изучения приложения попросите агента создать формальные тесты. Используйте следующий начальный запрос:
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.
Созданные тесты используют winapp ui команды в качестве уровня взаимодействия, поэтому они выполняются без отдельной платформы автоматизации пользовательского интерфейса.
Задайте AutomationIds в XAML
Чтобы winapp ui click мог надежно находить элементы, задайте AutomationProperties.AutomationId в XAML:
<Button AutomationProperties.AutomationId="SaveButton"
Content="Save" />
<TextBox AutomationProperties.AutomationId="TitleInput" />
Попросите агента: "Добавить атрибуты AutomationId ко всем интерактивным элементам управления в этом XAML".
Запуск тестов в CI
Вы можете выполнять команды winapp ui в рабочем процессе GitHub Actions. Для тестов требуется графический сеанс; используйте Windows runner с runs-on: windows-latest.
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 взаимодействуют с актуальным деревом доступности запущенного процесса. Тесты должны запускать приложение в процессе подготовки теста (или на шаге TestInitialize) и закрывать его на этапе завершения.
Проверить доступность автоматически
Команда winapp ui inspect выводит полное дерево специальных возможностей — имена элементов, типы, состояния и AutomationIds. Попросите агента проверить это на наличие проблем с доступностью:
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.
Этот запрос хорошо подходит для первичной проверки доступности перед запуском формального инструмента аудита. Полный контрольный список специальных возможностей см. в обзоре специальных возможностей для приложений Windows.
Связанный контент
Windows developer