Jerarquía de ProxyObject

Cuando se desarrollan nuevos proxies ampliando los proxies existentes para un dominio cualquiera, es crucial entender los proxies y las jerarquías existentes para poder ampliar el proxy adecuado.

Para obtener más información sobre los métodos y las propiedades de las clases de proxy, consulte la referencia de la API de proxy.

Identificación del control sometido a prueba

La primera tarea para una herramienta de pruebas funcionales consiste en identificar el control sometido a prueba y representarlo en la aplicación sometida a la prueba (AUT). Functional Tester identifica que un control está usando las propiedades de reconocimiento y la jerarquía y los representa en la correlación de TestObject. Las propiedades de reconocimiento y jerarquía pueden variar entre cada control. El proxy desarrollado para un control proporciona esta información a Functional Tester. Durante el desarrollo de nuevos proxies se heredan los proxies base de cada dominio. Normalmente estos métodos no se sustituyen porque ya están implementados en los proxies base.
Propiedades de reconocimiento
Puede utilizar los métodos enumerados en Tabla 1 para especificar las propiedades y el peso de reconocimiento para un control.
Nota: También puede especificar las propiedades y el peso de reconocimiento mediante la Biblioteca de objetos.
Tabla 1. Métodos ampliables para especificar la propiedad de reconocimiento
Java .Net
Hashtable getRecognitionProperties() Hashtable GetRecognitionProperties()
int getRecognitionPropertyWeight(String propertyName) int GetRecognitionPropertyWeight(String propertyName)
Jerarquía
Puede utilizar los métodos enumerados en Tabla 2 para especificar la jerarquía de un control.
Nota: Normalmente, estos métodos se implementan en las clases de proxy base y es posible que no se deban ampliar.
Tabla 2. Métodos ampliables para especificar la jerarquía
Java .Net
getParent() GetParent()
getTopParent() GetTopParent()
getChildren() GetChildren()
Object getChildAtPoint(Point pt) Object GetChildAtPoint(Point pt)
getOwner() GetOwner()
getOwnedObjects() GetOwnedObjects()

Definición

Puede utilizar los métodos enumerados en Tabla 3 para cambiar las características administrativas de un control como, por ejemplo, los iconos o los nombres descriptivos.
Tabla 3. Métodos ampliables para cambiar las características administrativas
Java .Net
String getTestObjectClassName() String GetTestObjectClassName()
String getDescriptiveName() String GetDescriptiveName()
String getUniqueId() String GetUniqueId()
boolean shouldBeMapped() bool ShouldBeMapped()
String getRole() String GetRole()
String getObjectClassName() String GetObjectClassName()

Grabación

Functional Tester graba las acciones de los usuarios realizadas en un control cuando la grabadora está activada. Estas acciones de usuario se pueden agrupar como interacciones de ratón e interacciones de teclado. Puede utilizar los métodos enumerados en Tabla 4 para la grabación.
Tabla 4. Métodos ampliables para la grabación
Java .Net
void processMouseEvent(IMouseActionInfo action) void ProcessMouseEvent(IMouseActionInfo action)
void processPreDownMouseEvent(IMouseActionInfo action) void ProcessPreDownMouseEvent(IMouseActionInfo action)
void processPreUpMouseEvent(IMouseActionInfo action) void ProcessPreUpMouseEvent(IMouseActionInfo action)
void processPostUpMouseEvent(IMouseActionInfo action) void ProcessPostUpMouseEvent(IMouseActionInfo action)
void processHoverMouseEvent(IMouseActionInfo action) void ProcessHoverMouseEvent(IMouseActionInfo action)
getScriptCommandFlags() GetScriptCommandFlags()
Vector getSubItems() ArrayList GetActionArgs(Point pt)
Rectangle getRectangle(SubItem) SubItem FindSubItem(Point pt)

Reproducción

Puede utilizar los métodos enumerados en Tabla 5 para buscar el rectángulo o punto de la pantalla para un SubItems.
Nota: Normalmente no es necesario ampliar estos métodos a no ser que incluya nuevos SubItems.
Tabla 5. Métodos ampliables para la reproducción
Java .Net
Rectangle getScreenRectangle(SubItem) Point GetPointForSubItem(SubItem)

Puntos de verificación

Puede añadir más tipos de datos y propiedades a un control.
Verificación de datos
Puede utilizar los métodos enumerados en Tabla 6 para añadir más tipos de datos a un control.
Tabla 6. Métodos ampliables para añadir tipos de datos
Java .Net
Hashtable getTestDataTypes() Hashtable GetTestDataTypes()
ITestData getTestData(String) ITestData GetTestData(string testDataType)
Comprobación de propiedades
Puede utilizar los métodos enumerados en Tabla 7 para añadir más propiedades a un control.
Tabla 7. Métodos ampliables para añadir propiedades
Java .Net
Hashtable gerProperties() Hashtable GerProperties()
object getProperty(String) object GetProperty(string)

Gestión de datos

Puede utilizar los métodos enumerados en Tabla 8 para especificar el método a utilizar para la gestión de datos.
Tabla 8. Métodos ampliables para la gestión de datos
Java .Net
MethodSpecification getDataDrivableCommand MethodSpecification GetDataDrivableCommand

Soporte de reflexión

Puede utilizar el soporte de reflexión proporcionado por Java™ y .Net desde el script de prueba. Las API getMethods() e Invoke() permiten acceder a la información sobre los métodos en el objeto subyacente para usar en la invocación remota. Esta información incluye la firma y el nombre del método. Puede utilizar los métodos enumerados en Tabla 9 para el soporte de reflexión.
Tabla 9. Métodos ampliables para el soporte de reflexión
Java .Net
getMethods() GetMethods()
invoke() Invoke()
getNonValueProperties()  
El método getNonValueProperties() devuelve las propiedades que no están admitidas porque el valor es una referencia a un objeto que no se puede serializar a través de límites de procesos. Estas propiedades siguen estando accesibles mediante los métodos getProperty(). Si esta propiedad se devuelve al script de prueba, se devuelve como un TestObject que contiene una referencia al objeto de la AUT. El script de prueba debe llamar al método unregister() de TestObject para liberar el objeto.

Comentarios