Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los comandos winapp ui y la habilidad winui-ui-testing permiten que tu agente de IA inspeccione, interactúe con la interfaz de usuario de tu aplicación y la valide automáticamente, describiendo lo que ve en lenguaje natural para que puedas iterar sin escribir primero código de infraestructura de pruebas.
Comandos de inspección de la interfaz de usuario
La habilidad winui-ui-testing está incluida en el complemento winui@awesome-copilot. Si instaló el complemento durante la instalación, no se requiere ninguna instalación adicional.
| Command | Qué hace |
|---|---|
winapp ui inspect |
Genera un volcado del árbol de accesibilidad de la aplicación en ejecución |
winapp ui screenshot |
Captura una captura de pantalla de la ventana de la aplicación |
winapp ui click <selector> |
Hace clic en un botón o selecciona un elemento |
winapp ui invoke <selector> |
Invoca la acción predeterminada en un control |
winapp ui search <text> |
Busca en el árbol de elementos por nombre o AutomationId |
winapp ui set-value <selector> <value> |
Establece el valor de un TextBox o ComboBox |
Pida al agente que pruebe la aplicación.
- Ejecute la aplicación:
dotnet run - Pregunte a su agente una pregunta en lenguaje natural, como:
"Examine la aplicación en ejecución y dígame si el botón Guardar es accesible cuando el formulario está vacío".
- El agente usa
winapp ui inspectywinapp ui screenshotpara examinar la aplicación y responder.
Este flujo de trabajo le permite detectar problemas (falta el foco del teclado, los controles deshabilitados, los problemas de diseño) antes de escribir una sola línea de código de prueba.
Escribir pruebas automatizadas
Una vez que haya explorado la aplicación de forma interactiva, pida al agente que genere pruebas formales. Usa este prompt inicial:
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.
Las pruebas generadas usan winapp ui comandos como capa de interacción, por lo que se ejecutan sin un marco de automatización de la interfaz de usuario independiente.
Establecer AutomationIds en XAML
Para que winapp ui click pueda dirigirse a los elementos de forma fiable, establezca AutomationProperties.AutomationId en su XAML:
<Button AutomationProperties.AutomationId="SaveButton"
Content="Save" />
<TextBox AutomationProperties.AutomationId="TitleInput" />
Pregunta al agente: "Agrega atributos AutomationId a todos los controles interactivos de este XAML."
Ejecuta pruebas en CI
Puede ejecutar winapp ui comandos en un flujo de trabajo de Acciones de GitHub. Las pruebas requieren una sesión gráfica; use un ejecutor de Windows con 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
Los winapp ui comandos interactúan con el árbol de accesibilidad activa de un proceso en ejecución. Las pruebas deben abrir la aplicación como parte de la configuración de la prueba (o en un paso TestInitialize) y cerrarla durante la fase de desmontaje.
Comprobación automática de la accesibilidad
El winapp ui inspect comando genera el árbol de accesibilidad completo: nombres de elementos, tipos, estados y AutomationIds. Pida al agente que lo revise para ver las brechas de accesibilidad:
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.
Este mensaje funciona bien como una revisión de accesibilidad de primer paso antes de ejecutar una herramienta de auditoría formal. Para obtener una lista de comprobación de accesibilidad completa, consulte Introducción a la accesibilidad para Windows aplicaciones.