Тестирование с помощью искусственного интеллекта для приложений Windows

Команды 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

Попросите агента протестировать приложение

  1. Запустите приложение .
    dotnet run
    
  2. Задайте агенту вопрос на естественном языке, например:

    Посмотрите на запущенное приложение и скажите, можно ли нажать кнопку «Сохранить», когда форма пуста.

  3. Агент использует 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".