Criterios de búsqueda que utiliza el paquete Recorder

Cuando graba un control de interfaz de usuario (IU) con el paquete Recorder, se captura un conjunto de propiedades; estas propiedades se utilizan para identificar e interactuar con el control de IU grabado durante el tiempo de ejecución.

Los controles que captura con Recorder se denominan objetos. Cuando Recorder captura un objeto, captura todas las propiedades posibles que identifican de forma única el objeto. Las propiedades seleccionadas se utilizan como "criterios de búsqueda" para buscar y encontrar el control de la aplicación de destino durante el tiempo de ejecución.

Durante la ejecución del bot, la grabadora recorre el árbol de control de la aplicación de destino y selecciona el control que coincide con las propiedades guardadas, también conocido como criterio de búsqueda.

De forma predeterminada, la grabadora selecciona los mejores criterios de búsqueda posibles para un control grabado en función de la tecnología. Sin embargo, los bots pueden tener problemas al intentar encontrar controles de IU previamente grabados. Algunas de las razones comunes para dicha falla incluyen, entre otras, las siguientes:

  • Propiedades dinámicas: Si las propiedades de los elementos capturados cambian con cada sesión o carga de página, y si los criterios de búsqueda incluyen alguna de las propiedades dinámicas, el bot puede fallar durante el tiempo de ejecución.
  • Cambios frecuentes en la IU: Si la aplicación de destino se actualiza con frecuencia con cambios en la IU y si las propiedades de los controles de la IU grabados cambian, los bots pueden tener problemas al intentar reconocer los controles grabados.
  • Controles con propiedades duplicadas: Si hay varios controles con las mismas propiedades, pueden producirse resultados no deseados o que el bot no reconozca los controles.

En tales situaciones, si sus bots dependen únicamente de los criterios de búsqueda predeterminados capturados por la grabadora, pueden tener dificultades para reconocer los controles capturados. Los criterios de búsqueda capturados funcionan de manera consistente siempre que no haya otros objetos que coincidan con los criterios o que los objetos mismos no se actualicen periódicamente. Por lo tanto, después de registrar los controles de la IU, debe considerar estos factores e intentar configurar criterios de búsqueda que puedan ayudar a su bot a identificar de forma única los controles grabados en el momento de la ejecución del bot.

Propiedades de búsqueda y validación para tecnología HTML

Los criterios de búsqueda son una combinación de las propiedades del objeto de búsqueda y de las propiedades de validación.

Propiedades del objeto de búsqueda: Estas propiedades se utilizan para localizar el objeto desde la página HTML. Las siguientes propiedades se utilizan para buscar el objeto.
  • Clase de HTML
  • ID de HTML
  • Nombre de HTML
  • Marco HTML Src
  • Etiqueta de HTML
  • Tipo de HTML
  • Texto interno de HTML
  • Ruta del marco HTML
  • DOMXPath
  • Ruta
  • HTML HasFrame
  • Marco DOMXPath
Propiedades de validación: Estas propiedades se validan solo después de que se encuentra el objeto. Las siguientes propiedades se utilizan para la validación.
  • Clase de HTML
  • Altura de HTML
  • HRef de HTML
  • ID de HTML
  • Izquierda del HTML
  • Nombre de HTML
  • HTML principal
  • Índice fuente del HTML
  • Etiqueta de HTML
  • Título del HTML
  • Parte superior del HTML
  • Tipo de HTML
  • Valor del HTML
  • Ancho del HTML
  • Texto interno de HTML
  • InnerHTML
  • OuterHTML
  • IsVisible

Ejemplo de propiedades dinámicas y uso de criterios de búsqueda personalizados

Supongamos que ciertas propiedades de una página web que está intentando registrar cambian en cada sesión. Incluir las propiedades que cambian generará que el bot no reconozca los controles. Por ejemplo, considere la página de inicio de sesión de muestra que aparece en el siguiente video. La propiedad ID del botón Iniciar sesión cambia cada vez que se carga la página.

Cuando graba el botón Iniciar sesión en la página, la grabadora captura el ID como una de las propiedades predeterminadas.


Ejemplo de propiedad de objeto dinámico

Si ejecuta el bot sin actualizar los criterios de búsqueda, el bot falla durante el tiempo de ejecución porque el ID del botón Iniciar sesión sigue cambiando cada vez que se carga la página.

Error en los criterios de búsqueda

Dado que la propiedad ID sigue cambiando, el bot falla porque no puede encontrar el botón Iniciar sesión que tiene el ID capturado previamente. Por lo tanto, usar la propiedad ID en este escenario no funcionará. El problema se puede solucionar fácilmente borrando la propiedad ID y seleccionando la propiedad internalHTML, como se muestra en el siguiente video. De esa manera, el bot no busca un control con el ID btn1696911842030-8845. En cambio, dependerá de la combinación de las propiedades DOMXPath e InnerHTML para identificar de forma única el control.

Consideraciones para modificar propiedades de objetos en HTML

Considere los siguientes factores cuando capture controles de IU usando el paquete Recorder:
  • Si la página web que planea grabar tiene propiedades dinámicas, omítalas en las propiedades del objeto grabado. En su lugar, seleccione propiedades que no cambiarán durante el tiempo de ejecución.
  • Si hay varios controles de IU con las mismas propiedades, seleccione propiedades que puedan identificar un control de IU específico de forma única. Por ejemplo, si hay varios botones con el botón Tipo y si el texto internalHTML (etiquetas de botón) es diferente para cada botón, usar el internalHTML como una de las propiedades permitirá identificar el control durante el tiempo de ejecución.
  • Utilice un DOMXPath dinámico o relativo que funcione con cambios de diseño. Evite el uso de DOMXPaths estáticos si el diseño cambia o se agregan controles dinámicos a la IU.
  • Utilice comodines ('*') si ciertos caracteres de los valores de propiedad son dinámicos.