Windows Application Driver (WinAppDriver) es una herramienta de uso gratuito, que no es Open-source (entiéndase open-source como el software que puede ser escrito, modificado y distribuido por alguien distinto al
propietario de éste) que permite pruebas de automatización de interfaz gráfica tipo Selenium para windows, además, puede ejecutarse individualmente y como complemento para Appium. Esta herramienta
solo permite pruebas en aplicaciones de Universal Windows Platform (UWP), Windows Forms (WinForms), Windows Presentation Foundation (WPF), en Classic Windows (Win32) y algunas aplicaciones
de la Microsoft Store, y sólo funciona en sistemas operativos con Windows 10.
Los lenguajes con los cuales se pueden programar pruebas de automatización para WinAppDriver son C#, Java, JavaScript, Python y Ruby
Ventajas y desventajas de usar WinAppDriver
Ventajas
- Es desarrollado por Microsoft, por tanto tiene mucho sentido probar aplicaciones de Windows con una herramienta de la misma compañía, además esta herramienta está en constante actualización por parte de Microsoft.
- Utiliza el protocolo WebDriver, lo que significa que si se tienen conocimientos previos en automatización web / móvil y conoce como desarrollar usando el framework WebDriver, entonces la transición a WinAppDriver será fácil, rápida y clara.
- Se puede usar XPath y otras propiedades para localizar elementos de la interfaz de usuario de Windows.
- Los tests se pueden ejecutar con los lenguajes C#, Java, JavaScript, Python y Ruby.
- Se pueden utilizar los patrones de diseño Screenplay y POM para el diseño de las pruebas.
Desventajas
- Aunque WinAppDriver sea una herramienta de uso gratuito, ésta no es de código abierto, pues en el repositorio WinAppDriver sólo han sido publicadas muestras y pruebas que sí son de código abierto.
- Ya que WinAppDriver sólo funciona con aplicaciones para Windows las cuales son de tipo UWP, WinForms, WPF y Win32, significa que excluye muchas otras aplicaciones que son de otras plataformas para Windows.
- Solo puede ser ejecutado en el sistema operativo Windows 10.
- No trae incorporada alguna herramienta para buscar las propiedades de la interfaz en una aplicación, para buscar las propiedades se deben usar herramientas como inspect.exe.
- WinAppDriver tiene métodos muy limitados en cuanto a los lenguajes de programación, pues al desarrollar las pruebas automatizadas, el lenguaje en el que se encuentra un mayor repertorio de métodos y funciones para realizar las automatizaciones
es C#.
Requerimientos básicos para esta sección
- Eclipse.
- Windows 10.
- JavaSE 1.8 o posterior.
- Maven / Gradle.
- Permisos de administrador del sistema.
- Modo desarrollador de Windows activado.
- Windows Kits
- WinAppDriver