DescriptProgramación interactiva en QTP/UFT: dinámica y estática
¿Qué es Descript¿Programación en vivo?
DescriptLa programación activa se utiliza para ejecutar operaciones en un objeto en la AUT cuya definición no está almacenada en el repositorio de objetos. Con este mecanismo, puede omitir la identificación del repositorio de objetos y proporcionar el objeto Description en la declaración misma.
Un nombre de objeto se utiliza simplemente para asignar un objeto en un script con su descripción en un repositorio de objetos. Esto significa que si cambia el nombre del objeto en su script y en el repositorio de objetos, el script debería ejecutarse. Vea el siguiente video sobre este concepto
Haga clic aquí si el video no es accesible
Videos
- Eliminar el objeto Description del nombre del agente Win Editar Box del repositorio de objetos. Si ejecuta la prueba nuevamente, fallará porque no puede reconocer el objeto. Examinemos la razón por la cual el script falla.
- Durante el tiempo de ejecución, Micro Focus UFT identifica la operación que se realiza en el cuadro WinEdit y el objeto DescriptEl nombre del objeto en el repositorio de objetos se almacena como nombre del agente. Utiliza este nombre para rastrear el objeto en un repositorio de objetos. Para un objeto principal, no puede tener dos objetos secundarios con el mismo nombre. Por lo tanto, QTP asigna de forma única el objeto en el repositorio. Luego, utiliza la descripción almacenada en el repositorio de objetos y reemplaza el nombre con la descripción. Luego, utiliza esta declaración para identificar el objeto en la aplicación en prueba.
- Dado que en nuestro caso habíamos eliminado esta descripción de objeto por completo, el script falla
- Pero, ¿qué pasa si en lugar de que QTP reemplace la descripción del objeto, usted, como evaluador, especifica directamente las descripciones de los objetos en su secuencia de comandos? Esto no es más que “DescriptProgramación ive”
Tipos de DescriptProgramación ive
Puedes usar Descriptive programación de dos maneras
- Estático
- Dynamic
Estático DescriptProgramación ive
En el método estático, para la identificación de objetos, se especifica la propiedad de un objeto en el siguiente formato
property:=values,
Este formato se llama par de valor de propiedad y está encerrado entre comillas.
Si tu objeto usa múltiples descripciones para identificación, puede especificarlas usando comas
Entonces, en nuestro caso, la descripción del Nombre del agente se convierte en
"nativeclass:=Edit", "attached text:=Agent Name:"
Dynamic DescriptProgramación ive
El segundo método para realizar la misma acción es utilizar Dynamic Descriptprogramación en vivo
En caso de que su script utilice el objeto de programación descriptivo candidato varias veces, será muy tedioso especificar todos los pares de valores de propiedad para cada declaración.
En tales casos, puede hacer uso de DescriptClase de iones proporcionado por QTP
La sintaxis para crear un objeto de descripción es
Set MyDescription = Description.Create(); MyDescription("property").Value = "property-value";
Este es el Método dinámico
Por qué usar Descript¿Programación en vivo?
Transcripción del video
- La pregunta del millón es por qué utilizar DP cuando el proceso de identificación de objetos lo maneja QTP
- Supongamos que le asignan la tarea de probar un portal de empleo. Usted ingresa una consulta de búsqueda en el portal y
- su prueba espera que seleccione todos los trabajos disponibles y haga clic en Aplicar trabajo
- Pero el número de trabajos reflejados dependerá de la consulta de búsqueda y de los trabajos disponibles en el momento de la ejecución del script, pero no hay forma de predecir de antemano el número de trabajos que se reflejarán.
- En estos casos, puede utilizar la programación descriptiva. Aunque no conozca el número ni los nombres de las casillas de verificación, sí conoce la clase de los objetos, como “WebCheckBox"
- Puede utilizar las opciones Método ChildObject para devolver objetos que pertenecen a un padre en particular
- Una línea de código como –
Set allObjects = Browser("Jobs").Page("QTP").ChildObjects()
- Devolverá todos los objetos secundarios de esta página.
- Pero sólo queremos WebCheckBox objetos. Para ello, podemos crear un objeto de creación de filtros y establecer su propiedad como casilla de verificación web y pasar este filtro como argumento para el método ChildObjects
- En este caso, solo se devuelven las casillas de verificación.
- A continuación, puede escribir un código como este que accede a toda la colección de casillas de verificación comenzando desde cero y activa todas las casillas de verificación.
- A continuación, puede hacer clic en el botón Aplicar para completar la prueba.
- También puede usar DescriptProgramación para ejecutar objetos que son difíciles de grabar, como paneles de ocultación automática, objetos con jerarquías cambiantes, objetos internos anidados y submenús.
- También puede realizar manipulaciones avanzadas de cadenas mediante programación descriptiva.
- Junto con la propiedad de índice, la programación descriptiva podría resultar muy útil para identificar objetos difíciles.
- Si usa una descripción programática para un objeto en la jerarquía de objetos, necesitará usar la programación de descripción para los objetos secundarios posteriores.
- Por ejemplo, para el objeto de página, se usó programación descriptiva, pero para el objeto secundario posterior se usa el repositorio de objetos WinEdit, lo cual es incorrecto.
- Por el contrario, aquí se utiliza programación descriptiva tanto para Page como para WinEdit, lo cual es correcto.