Para localizar objetos de ventanas de Windows, WinAppDriver tiene sus propios métodos:
Nota: para poder utilizar estos métodos de mapeo, se debe usar con un driver que anteriormente haya sido inicializado.
Ejemplo:
CalculatorDriver.findElementByName("Uno");
| API | Localizador | Nombre del atributo en inspect.exe | Ejemplo |
|---|---|---|---|
| FindElementByAccessibilityId | Identificador único para elementos hermanos en un mismo contenedor | AutomationId | AppNameTitle |
| FindElementByClassName | Nombre de la clase de un elemento | ClassName | TextBlock |
| FindElementById | Identificador único del elemento | RuntimeId (decimal) | 42.333896.3.1 |
| FindElementByName | Nombre | Name | Calculator |
| FindElementByTagName | Nombre de etiqueta | LocalizedControlType (upper camel case) | Text |
| FindElementByXPath | xpath | Any | //Button[0] |
Las capacidades o capabilities como está definido en WinAppDriver, son los argumentos que van en el método capabilities de WinAppDriver, estos argumentos sirven para definir el directorio de trabajo para una aplicación, la ruta de la aplicación o el nombre de su identificador, los argumentos con los que desea ser ejectutada la aplicación, entre otros.
Ejemplo:
DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("app", "Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"); CalculatorSession = new WindowsDriver(new URL("http://127.0.0.1:4723"), capabilities);
Como se puede ver en el ejemplo anterior, se configuro una capabilitie para instanciar un driver, la capabilitie que se configuró fue en el primer argumento "app", esta capabilitie indica que en el segundo argumento de la función se va a ingresar el identificador o el directorio de una aplicación para configurar el driver.
capabilities.setCapability(String arg1, String arg2);
| Capacidad | Descripción | Ejemplo |
|---|---|---|
| app | Identificador de la aplicación o directorio del ejecutable |
Identificador de Microsoft Edge: Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge Ruta del un ejecutable (sea una ruta relativa o no): C:/Windows/System32/notepad.exe |
| appArguments | Argumentos para iniciar la aplicación |
https://github.com/Microsoft/WinAppDriver (Si se usa con Microsoft Edge abre esa dirección) Depende de cada aplicación la función que el argumento tenga, por ejemplo, sí en el notepad.exe se envía el argumento “hola”, el buscará dentro de su appWorkingDir el documento llamado hola.txt, si no lo encuentra va a sugerir crearlo. |
| appTopLevelWindow | Argumento para crear una nueva sesión para una aplicación que tiene otra sesión existente | 0xB822E2 |
| appWorkingDir | Directorio sobre el cuál la aplicación va a trabajar (Solo aplicaciones clasicas) | C:\Temp |
| platformName | Nombre de la plataforma | Windows |
| platformVersion | Version de la plataforma | 10 |