Programación descriptiva en QTP / UFT: Dynamic & Estático

Tabla de contenido:

Anonim

¿Qué es la programación descriptiva?

La programación descriptiva se utiliza para ejecutar operaciones sobre un Objeto en el 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 la descripción del objeto en la declaración misma.

Un nombre de objeto se usa simplemente para mapear un objeto en un script con su descripción en un repositorio de objetos. Es decir, si cambia el nombre del objeto en su script y repositorio de objetos, el script debería ejecutarse. Mira el siguiente video sobre este concepto

Haga clic aquí si el video no es accesible

Video destacado

  • Elimine la descripción de objeto del cuadro de edición de Win del nombre del agente del repositorio de objetos. Si vuelve a ejecutar la prueba, fallará ya que no puede reconocer el objeto. Examinemos la razón por la que falla el script.
  • Durante el tiempo de ejecución, Micro Focus UFT identifica la operación que se realiza en el cuadro de WinEdit y la descripción 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 padre, no puede tener dos objetos secundarios con el mismo nombre. Por lo tanto, QTP mapea de forma única el objeto en el repositorio. Luego usa la descripción almacenada en el repositorio de objetos y reemplaza el nombre con la descripción. Luego usa esta declaración para identificar el objeto en la aplicación bajo prueba / li>
  • Dado que en nuestro caso habíamos eliminado esta descripción de objeto por completo, el script falla / li>
  • Pero, ¿qué pasa si en lugar de que QTP reemplace la descripción del objeto, usted, como evaluador, especifica directamente las descripciones del objeto en su script? Esto no es más que "Programación descriptiva"

Tipos de programación descriptiva

Puede utilizar la programación descriptiva de dos formas

  1. Estático
  2. Dinámica

Programación descriptiva estática

En Método estático, para la identificación de objetos, especifica la propiedad de un objeto en el siguiente formato

propiedad: = valores,

Este formato se denomina par de valor de propiedad y se encierra entre comillas>

Si su objeto usa múltiples descripciones para la identificación, puede especificarlas usando comas >

Entonces, en nuestro caso, la descripción del nombre del agente se convierte en

"nativeclass: = Editar", "texto adjunto: = Nombre del agente:"

Programación descriptiva dinámica

El segundo método para realizar la misma acción es utilizar la programación descriptiva dinámica

En caso de que su script use el candidato de objeto de programación descriptivo varias veces, será muy tedioso especificar todos los pares de valores de propiedad para cada declaración.

En tales casos, puede hacer uso de la clase de descripción proporcionada por QTP

La sintaxis para crear un objeto de descripción es

Establecer MyDescription = Description.Create ();MyDescription ("propiedad"). Valor = "valor-propiedad";

Este es el Método Dinámico

¿Por qué utilizar la programación descriptiva?

Transcripción del video

  • La pregunta del millón de dólares es por qué usar DP cuando el proceso de identificación de objetos es manejado por QTP.
  • Suponga que está asignado a probar un portal de empleo. 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 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ían.
  • En tales casos, puede utilizar la programación descriptiva. Aunque no conozca el número y los nombres de las casillas de verificación, sí conoce la clase de los objetos como "WebCheckBox".
  • Puede utilizar el método ChildObject para devolver objetos que pertenecen a un padre en particular
  • Una línea de código como:
    Establecer allObjects = Browser ("Trabajos"). Página ("QTP"). ChildObjects ()
  • Devolverá todos los objetos secundarios de esta página.
  • Pero solo queremos objetos WebCheckBox. Para hacerlo, podemos crear un objeto de creación de filtro y establecer su propiedad como casilla de verificación web y pasar este filtro como un 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 acceda 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 utilizar la programación descriptiva para ejecutar objetos que son difíciles de registrar, como paneles de ocultación automática, objetos con jerarquías cambiantes, objetos internos anidados, 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 ser muy útil para identificar objetos difíciles.
  • Si usa la 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 sucesivos
  • Por ejemplo, para el objeto de página, se usó programación descriptiva pero para el objeto secundario sucesivo se usó el Repositorio de Objetos WinEdit, que es incorrecto
  • Por el contrario, aquí tanto para Page como para WinEdit se utiliza programación descriptiva, lo cual es correcto