ObtenerPropiedadDeRo, ObtenerPropiedadEn QTP/UFT con ejemplo
⚡ Resumen inteligente
Object Spy revela las propiedades y los métodos de cualquier control en la aplicación bajo prueba, mientras que GetROProperty, GetTOProperty y SetTOProperty leen y escriben esos valores de propiedad desde un QTP or UFT Un script por ejecución.

Este tutorial demuestra Espía de objetos.
Object Spy puede ayudar a determinar las propiedades y métodos útiles asociados con un objeto en su entorno.
El enfoque HP/Micro UFT Tutoriales también describe ObtenerPropiedadRO, ObtenerPropiedadTOPreperty y EstablecerPropiedadTOPreperty.
⚠️ Nota de versión: La herramienta descrita aquí se lanzó como HP QuickTest Professional, se convirtió en Micro Focus Unified Functional Testing y se vende hoy como OpenText Pruebas funcionales (UFT Uno)Object Spy y los tres métodos siguen funcionando exactamente como se describe a continuación.
Haga clic en aquí si el video no es accesible
Espía de objetos
- Object Spy es una función en QTP Mediante esta herramienta podrá ver las propiedades y los métodos de los objetos, tanto en tiempo de prueba como en tiempo de ejecución.
- También proporciona la sintaxis de un método seleccionado.
- Object Spy muestra la jerarquía completa del objeto que ha seleccionado.
Esa jerarquía es importante, porque el nombre de una propiedad copiado de Object Spy es exactamente la cadena que esperan los tres métodos siguientes. Por lo tanto, examinar un objeto es el primer paso en casi todas las tareas de recuperación de propiedades.
ObtenerPropiedadRO
- GetROProperty es un método integrado que se utiliza para recuperar el valor en tiempo de ejecución de una propiedad de un objeto.
El uso de GetROProperty implica 4 pasos:
- Registre el objeto en el que desea utilizar GetROProperty en Repositorio de objetos.
- El objeto registrado identifica la propiedad de tiempo de ejecución que podría utilizarse. Puede usar Object Spy.
- Utilice el método GetROProperty para recuperar la propiedad de tiempo de ejecución identificada y almacenar el valor en una variable.
- Utilice este valor para realizar deducciones adicionales.
Dado que el valor se lee del control en tiempo real, la aplicación debe estar abierta y el objeto debe existir realmente en la pantalla cuando se ejecuta la línea.
Establecer propiedad y obtener propiedad
- Consideremos un botón web almacenado en el repositorio de objetos.
- Cuando se ejecuta la prueba QTP crea una copia de este objeto llamada Objeto de prueba y la compara con el Objeto de tiempo de ejecución.
- Usando GetTOProperty puedes recuperar el valor de una propiedad del objeto Test.
- Mediante SetTOProperty puedes cambiar el valor de una propiedad de un objeto de prueba.
- Cuando se completa la prueba, este objeto de prueba se descarta, al igual que cualquier modificación que haya realizado en las propiedades del objeto mediante SetTOProperty.
- Cuando se vuelve a ejecutar la prueba, se crea una nueva copia del objeto de prueba con los valores de propiedad originales almacenados en el repositorio de objetos.
- Puedes considerar usar GetTOProperty y SetTOProperty cuando tu script de prueba tenga varias líneas de código y tu entorno sea esporádico.
- Cabe destacar que no existe SetROProperty.
Sintaxis y ejemplos
Los tres métodos se invocan sobre un objeto de prueba situado al final de su jerarquía, y los tres reciben como cadena de texto el nombre de una propiedad de descripción. La tabla muestra la firma de cada uno.
| Método | Sintaxis | Lee o escribe |
|---|---|---|
| ObtenerPropiedadRO | objeto.ObtenerPropiedadRO(Propiedad) | Lee el control en tiempo real en la aplicación. |
| Obtener propiedades | objeto.ObtenerPropiedad(Propiedad) | Lee la descripción del objeto de prueba almacenado. |
| Establecer propiedad | objeto.EstablecerPropiedad, Valor | Escribe la descripción del objeto de prueba solo para esta ejecución. |
Leer un valor en tiempo de ejecución es una sola instrucción. Este ejemplo, tomado de la Referencia oficial para recuperar y establecer valores, obtiene la dirección de destino de un enlace durante la sesión de ejecución.
link_href = Browser("Technologies").Page("Technologies").Link("Jobs").GetROProperty("href")
Escribir y luego leer la propiedad de un objeto de prueba es igual de sencillo. El siguiente par de comandos establece el nombre del botón "Enviar" a mi botón y lee el mismo valor inmediatamente.
Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").SetTOProperty "Name", "my button" ButtonName = Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").GetTOProperty("Name")
Una verificación típica combina ambas ideas: leer el valor en tiempo de ejecución con GetROProperty y luego compararlo con lo que espera la prueba.
strValue = Browser("Welcome").Page("Find a Flight").WebList("fromPort").GetROProperty("selection") If strValue = "Acapulco" Then Reporter.ReportEvent micPass, "Default city", "Default city is correct" Else Reporter.ReportEvent micFail, "Default city", "Unexpected value: " & strValue End If
Diferencia entre GetROProperty y GetTOProperty
Los dos nombres se diferencian en una letra y son la pareja que más confusión genera en la herramienta. RO significa objeto de tiempo de ejecución, TO significa objeto de prueba, y cada uno lee desde un lugar diferente.
| Punto de comparación | ObtenerPropiedadRO | Obtener propiedades |
|---|---|---|
| Fuente del valor | El control en vivo en la aplicación en ejecución | La descripción almacenada para el objeto de prueba |
| La solicitud debe estar abierta. | Sí: | No |
| Se observa un cambio en SetTOProperty. | No | Sí, para la ejecución actual. |
| Uso típico | Verificar lo que el usuario realmente ve | Comprobar o depurar cómo se identifica el objeto. |
| colocador de emparejamiento | Ninguno: no existe SetROProperty. | Establecer propiedad |
Un ejemplo práctico hace evidente la diferencia. Asigna un ID HTML a una lista que no contiene ninguno y luego léelo en ambos sentidos: GetROProperty devuelve una cadena vacía porque la aplicación nunca cambió, mientras que GetTOProperty devuelve el valor que se acaba de escribir en la descripción.
Errores comunes y cómo solucionarlos
La recuperación de propiedades falla por un pequeño número de razones predecibles. La tabla enumera las que los evaluadores encuentran con mayor frecuencia.
| Síntoma | Causa | Solución |
|---|---|---|
| La llamada devuelve una cadena vacía. | El nombre de la propiedad es incorrecto o el objeto no la expone. | Vuelve a examinar el objeto y copia el nombre de la propiedad exactamente como aparece. |
| Objeto no encontrado en la línea GetROProperty | El control aún no se había renderizado | Agregue un paso de sincronización antes de la lectura. |
| GetROProperty ignora un cambio de SetTOProperty | Los dos métodos abordan objetos diferentes por diseño. | Lee el cambio con GetTOProperty en su lugar. |
| Un cambio en SetTOProperty desaparece | Las ediciones de los objetos de prueba solo duran durante la ejecución actual. | Edite el objeto en el repositorio o utilice programación descriptiva |
| SetROProperty genera un error de sintaxis. | No existe tal método. | Ejecute la aplicación mediante un paso normal como Establecer o Hacer clic |
Dos hábitos previenen la mayoría de estos: espiar el control antes de escribir la línea en lugar de adivinar el nombre de la propiedad y mantener VBScript Las llamadas de recuperación se realizan cerca del paso que necesita el valor, por lo que el objeto todavía está en pantalla cuando se realiza la lectura.
