Resolución de problemas de la pruebas funcionales

Este tema puede ayudarle a revolver algunos de los problemas que podría encontrar en las pruebas funcionales.
Tabla 1.
Problema Descripción Solución

Las excepciones ObjectNotFoundException se producen al insertar un punto de verificación en los controles ErrorProvider, HelpProvider y ToolTipText de .Net.

Esto se produce si crea un punto de verificación de datos en los controles ErrorProvider, HelpProvider y ToolTipText al grabar en Net.

En .NET, cree puntos de verificación de propiedades en estos controles.

La excepción System.NullReferenceException se produce al reproducir un script controlado por datos que contiene controles de calendario en aplicaciones SAP.

Podría haber cerrado el control de calendario después de grabar un script controlado por datos, en cuyo caso se genera un suceso close() en el script. El script tendrá un aspecto parecido al del ejemplo siguiente:

calendar_sapCalendarControl1().setDate(dpString("SAPCalendarControl1")); dialog_calendar().close();

Dado que el método setDate() establece la fecha en la que se centra y también cierra el control de calendario, el script fallará durante la reproducción al intentar cerrar el control de calendario.

Efectúe una de las tareas siguientes:
  • Suprima el método de cierre de calendario que se ha generado en el script.
  • Cierre el control de calendario antes de salir del asistente "Insertar acciones controladas por datos".

La reproducción falla al efectuar la verificación de datos en controles como texto, recuadro combinado o árbol en aplicaciones SAP.

Esto se produce si el método de punto de verificación se graba antes de los métodos como set para recuadro de texto/combinado o ExpandNode/doubleClickNode para un control de árbol.

Efectúe una de las tareas siguientes:
  • Pulse Intro o la tecla F2 después de escribir/seleccionar el valor en el recuadro de texto/combinado, o bien expanda un nodo del control de árbol y, a continuación, invoque el asistente de punto de verificación de datos.
  • Corte y pegue estos métodos antes de efectuar la verificación de datos en el control de recuadro de texto/combinado/árbol del script.

El mensaje de error siguiente aparece al crear un proyecto de prueba funcional en .Net:

"No se ha podido habilitar la integración con ClearCase. Faltan las entradas de registro para el proveedor de control de código fuente instalado. Configure el proveedor de control de código fuente correctamente."

Este mensaje aparece si los valores de registro para ClearCase se han dañado.

Debe arreglar los valores del registro manualmente. Para obtener más información sobre cómo cambiar el proveedor de control de código o editar los valores del registro, consulte la ayuda de MSDN.

IBM Rational Functional Tester no reconoce los controles de Siebel 7.7 después de volver a Siebel 7.7 desde Siebel 7.8.

Al iniciar Siebel 7.8, Internet Explorer instala los objetos ActiveX de Siebel más recientes. Por tanto, si después intenta grabar utilizando Functional Tester en Siebel 7.7, Functional Tester no podrá reconocer los controles de Siebel 7.7.

Elimine los objetos ActiveX de Siebel de las carpeta C:\WINDOWS\Downloaded Program Files y, a continuación, intente volver a trabajar con la aplicación Siebel 7.7.

Una aplicación Java que se somete a prueba (AUT) no se abre mientras se configura la aplicación para probarla en Rational Functional Tester.

La AUT no se abre mientras se configura la aplicación para probarla si especifica una versión de JRE inferior a la utilizada para compilar la aplicación de prueba.

  • Utilice la misma versión, o superior, de JRE que esté soportada por Functional Tester para probar la aplicación.
  • Recompile la aplicación de prueba estableciendo los niveles de origen y de destino de JRE en el IDE Java.

    Un ejemplo para compilar la aplicación de prueba estableciendo los distintivos de origen y de destino mediante la interfaz de línea de mandatos:

    C:\AUT\Test>"C:\Program Files\Java\jdk1.5.0_06\bin\javac.exe" -source 1.4 -target 1.4 *.java

La reproducción falla al probar aplicaciones SAP que contengan campos de contraseña.

Rational Functional Tester graba la contraseña especificada tal como aparece en el campo de contraseña y no puede leer el valor cifrado.

Antes de reproducir el script, sustituya la contraseña grabada por la contraseña real del script.

La ayuda según contexto de IBM Rational Functional Tester no funciona en el IDE .Net VS.

 

Instale la biblioteca de MSDN. Durante la instalación, seleccione opciones para integrar la biblioteca de MSDN con el IDE .NET VS para que funcione la ayuda según contexto de Functional Tester.

Si intenta abrir un archivo PDF desde la galería de guías de aprendizaje, el sistema se cuelga.

Si utiliza Adobe Reader 6.0.0, al abrir un archivo PDF desde la galería de guías de aprendizaje podría provocar que el sistema se cuelgue.

Otras versiones de Adobe Reader no causan este problema. En el sitio web de Adobe hay disponibles actualizaciones gratuitas al último nivel de Adobe Reader.

La asistencia al usuario multimedia no aparece.

La asistencia al usuario multimedia, como por ejemplo visitas guiadas, guías de aprendizaje y viewlets de demostración, requieren que el reproductor Flash esté instalado en el sistema.

Instale Flash Player versión 6.0 o superior desde el sitio web de Adobe.

Inhabilitación del soporte para la reproducción en Eclipse si se arrastran o desacoplan vistas y editores después de la grabación.

 

Añada la sentencia rational.test.ft.enable_eclipse_support=false en el archivo ivory.properties.

Un script grabado en un navegador no se reproduce en otro navegador.

Un script grabado en Internet Explorer, por ejemplo, a veces no se reproduce en Mozilla Firefox.

Inspeccione la estructura DOM de los objetos en los navegadores. Por ejemplo, puede utilizar DomInspector para Mozilla Firefox. De manera parecida, la estructura DOM también se puede interpretar para otros navegadores. A continuación, puede comparar y comprobar si la jerarquía de objetos es la misma.

  • Si la jerarquía DOM de los navegadores no es la misma, la causa de la anomalía no es un problema de Functional Tester. La reproducción falla porque los navegadores crean jerarquías DOM diferentes.

    Método alternativo: Esto se puede solucionar introduciendo los aspectos que faltan en la jerarquía de Functional Tester mientras se reproduce el script.

  • Si la jerarquía DOM de los navegadores es idéntica, podría haber un problema con Functional Tester. Póngase en contacto con el soporte de software de IBM para productos de software de Rational para seguir investigando.

La grabación y la reproducción no funcionan en las opciones de menú del navegador

Functional Tester soporta probar el contenido del navegador, pero no las interacciones con las opciones de menú del navegador ni con el propio navegador. Esto se lleva a cabo principalmente para proporcionar un recurso de grabación y reproducción para probar aplicaciones HTML en todos los navegadores.

Capture el objeto del navegador y utilice el método inputKeys para interactuar con las opciones de menú mediante atajos de teclado para las opciones de menú específicas.

Por ejemplo, se puede acceder a la opción Cerrar en el menú Archivo mediante la tecla de atajo Alt+F+C. Si necesita acceder a esta opción, puede utilizar el método inputKeys en el objeto de navegador proporcionando la tecla de atajo ("%fc") como parámetro de entrada, como se muestra a continuación:

Browser_HtmlBrowser(Document_HtmlDocument(),DEFAULT_FLAGS).InputKeys("%fc")

Error de SAP interno (ABAP) durante la grabación

Al grabar sobre aplicaciones SAP, en ocasiones la infraestructura de scripts de SAP genera algunos errores ABAP y detenciones en la grabación. El problema no se arreglará a menos que SAP lo arregle en su infraestructura de scripts.

Inhabilite la ayuda de la búsqueda modal en el sistema para el usuario que ejecuta el script. Puede hacerlo en el menú de ayuda del diálogo Preferencias de la GUI de SAP. Si esta solución no funciona, es posible que tenga que reiniciar la aplicación SAP.

La excepción System.NullReferenceException se produce al reproducir un script controlado por datos que contiene controles de calendario en aplicaciones SAP.

Es posible que haya cerrado el control de calendario después de grabar un script controlado por datos, en cuyo caso se genera un suceso close() en el script.

El script tendrá este aspecto: dialog_calendar().close();

Dado que el método setDate() establece la fecha en la que se centra y también cierra el control de calendario, el script fallará durante la reproducción al intentar cerrar el control de calendario.

Suprima el método de cierre de calendario que se ha generado en el script.

En Linux, si se llama a mandatos de la API RationalTestScript desde diversas hebras se producen errores asíncronos.

Si dos hebras de un proceso envían X solicitudes simultáneamente, las bibliotecas X no podrán manejar las solicitudes porque no son a prueba de hebras. Esto provoca que se produzcan errores asíncronos con mensajes como Respuesta asíncrona inesperada o Suceso perdido. También se puede dar si se utilizan varias hebras en scripts RFT.

En el archivo ivory.properties, establezca la opción rational.test.ft.script.playback.mouse.allow_multiple_threads en "true."

Problemas de codificación al importar archivos en Linux.

En Linux, a causa de formatos de codificación incompatibles, es posible que Functional Tester no reconozca o lea los archivos que se importan. En Functional Tester el formato de codificación predeterminado se establece en UTF-8. No obstante, UTF-8 no puede manejar una serie de formatos de codificación, como por ejemplo Cp1252.

En Linux, establezca el formato de codificación de los archivos en ISO-8859-1:
  1. Seleccione el proyecto importado o el proyecto en el que se importan los archivos en el panel de proyectos de Functional Test.
  2. Pulse Proyecto > Propiedades.
  3. En la ventana Propiedades, seleccione Información en la lista.
  4. En el campo de codificación de archivo de texto, pulse Otros.
  5. Seleccione ISO-8859-1 en la lista desplegable.
  6. Pulse Aceptar.

No se pueden reproducir scripts .Net almacenados en la red.

Puede que el proyecto en la red no tenga permiso de Confianza completa en el sistema local debido a su política de seguridad. Aparecerá un mensaje RuntimeSecurityPolicyException en el registro de reproducción o en el registro de depuración RFT.

Efectúe lo siguiente:
  • Configure el nivel de seguridad de la zona de Intranet local como Confianza completa. Para ello, siga estos pasos:
    1. Vaya a Panel de control > Herramientas administrativas y abra Configuración de Microsoft .NET Framework.
    2. Seleccione Configurar política de seguridad de acceso de código y pulse Ajustar seguridad de zona.
    3. Seleccione Intranet local en el asistente Ajustar seguridad y establezca el nivel de confianza en Confianza completa.
Si continúa apareciendo el mensaje, siga estos pasos:
  • Especifique el nombre del sistema en lugar de la dirección IP como la vía de acceso del proyecto.
  • Configure lo siguiente en Internet Explorer:
    1. Pulse Herramientas > Opciones de Internet en la ventana de Internet Explorer.
    2. En el separador Seguridad, seleccione Zona de intranet local.
    3. Pulse Sitios.
    4. En el recuadro de diálogo Intranet local, pulse Opciones avanzadas.
    5. Deseleccione Requerir comprobación del servidor (https:) para todos los sitios de esta zona.
    6. Especifique la vía de acceso del proyecto y pulse Añadir.
    7. Pulse Aceptar.

La ejecución de scripts con Test Manager Agent en Linux genera un error.

Si inicia el daemon de Test Manager Agent 7.0 en una máquina Linux y ejecuta los scripts a través de Test Manager en una máquina Windows, es posible que aparezcan algunos errores.

En la máquina Linux, efectúe lo siguiente:
  1. Establezca la variable de entorno LD_LIBRARY_PATH en libjava.so del JRE que se esté utilizando actualmente.
  2. Establezca CLASSPATH en /bin/rational_ft.jar
  3. Ejecute el mandato: source rtsetup.
  4. Desde el directorio de instalación de Test Manager, ejecute el script RTsagt.
Nota: No puede utilizar agentes de Test Manager en las plataformas SUSE Linux Enterprise Server 10.0 y SUSE Linux Enterprise Desktop 10.0.

Los errores de compilación se producen al compartir un proyecto de prueba funcional mediante ClearCase.

De forma predeterminada, ClearCase se configura para ser sensible a mayúsculas y minúsculas. Si un nombre de archivo contiene letras mayúsculas, ClearCase las convierte a minúsculas. Se produce un problema parecido al grabar un script nuevo dentro de un proyecto existente ubicado en ClearCase.

Siga estos pasos para cambiar los valores de ClearCase para mantener las mayúsculas y las minúsculas:
  1. Pulse Inicio > Panel de control > ClearCase para abrir la ventana Propiedades de ClearCase.
  2. En la página del separador MVFS, marque el recuadro de selección relativo a la conservación de mayúsculas y minúsculas.
  3. Detenga y reinicie ClearCase.
  4. Comparta de nuevo el proyecto de prueba funcional.

La integración de ClearCase en Linux no funciona si no se instala en el directorio /opt/rational.

 

Para utilizar ClearCase con Linux, debe instalar ClearCase en el directorio /opt/rational o /usr/atria, o bien establezca CLEARCASEHOME o ATRIAHOME en el directorio de instalación de ClearCase.

No se ha podido resolver el paquete de recursos.

Si se utiliza Flex Builder 2 para construir una aplicación Flex con el adaptador Functional Tester, es posible que aparezca un error sobre el paquete de recursos.

Copie automation_agent_rb.swc del directorio ../Flex automation/frameworks/locale/en_US al directorio ../Flex SDK 2/frameworks/locale/en_US.
Nota: Esto no es necesario si se utiliza Flex Builder 3.
No se ha podido resolver ninguna operación relacionada con ClearCase para el proyecto de prueba funcional. Esto puede darse si se modifica la jerarquía o ubicación de los activos del proyecto de prueba funcional. Cuando se crea un proyecto de prueba funcional, también se crea una jerarquía predeterminada para mantener los activos del proyecto. Esta jerarquía y almacenamiento se utilizan para buscar activos de prueba funcional para incorporarlos.

No modifique la jerarquía de los activos del proyecto de prueba funcional.

Se produce una excepción ObjectNotFound al reproducir el script si la AUT Java se oculta detrás de otra ventana de aplicación.   Efectúe lo siguiente:
  1. Pulse Configurar > Habilitar entornos para prueba > Separador Entornos Java.
  2. Escriba -Dawt.toolkit=sun.awt.motif.MToolkit en el campo Opciones de ejecución y pulse Finalizar.
No se han podido grabar juegos de caracteres de doble byte (DBCS). Al escribir caracteres de doble byte, es posible que la misma secuencia de teclas tenga varios caracteres DBCS. IME (Input Method Editor) proporciona la opción de seleccionar el carácter que desee al pulsar la barra espaciadora después de una secuencia de teclas. Pulse Intro para grabar la serie de entrada.
Functional Tester no graba las acciones con las aplicaciones Flex. Esto se produce si el entorno Flex y la aplicación no están configurados correctamente. Asegúrese de que:
  • El valor de Internet Explorer Inicializar y crear scripts de controles ActiveX no marcados como seguros está habilitado.
  • La aplicación se carga a través de una página HTML, con una etiqueta de <objeto> que tenga establecido un atributo de ID, y el atributo de ID que no contenga puntos ni guiones.
  • La aplicación se carga desde un servidor web o localmente desde un archivo SWF de confianza.
Se produce una excepción ObjectNotFound durante la reproducción de un script y el mensaje de la excepción indica que el estado del objeto es incorrecto.

Por ejemplo: Buscando [botón] con estado [ENABLED|VISIBLE|READY], posible candidato erróneo [{.mappableClassIndex=0, text=*!ENT!*, .classIndex=0}] con estado incorrecto [DISABLED]

Durante la reproducción, Functional Tester espera uno de los estados siguientes para un objeto de prueba:
  • ENABLED
  • VISIBLE
  • READY (para navegador)
Si el estado del objeto de prueba no coincide con estado esperado, se produce la excepción ObjectNotfound.
Para sobrescribir la excepción, establezca la ancla del objeto en nula o ANY.

Por ejemplo: Sustituya button().click(); por button(null, DISABLED).click();

Functional Tester reconoce objetos GEF como FigureCanvas. Los objetos GEF que se implementan mediante editores GEF estándar y no estándar se reconocen como FigureCanvas.
  • Asegúrese de que el plug-in del habilitador GEF com.rational.test.ft.gef_xx.jar exista en el directorio de plug-ins de la AUT.
  • Si los objetos GEF no se identifican incluso después de la habilitación, inicie la AUT con la opción -clean.
  • Para editores no estándar, añada el método getAdapter en el editor GEF no estándar (AUT). Functional Tester utiliza este método para obtener una instancia de GraphicalViewer para reconocer objetos GEF en el editor.
    public Object getAdapter(Class type)
    {
    if (type == org.eclipse.gef.GraphicalViewer.class)
     {
    <<return the current instance of org.eclipse.gef.GraphicalViewer>>
     }
    }
Problemas al grabar y reproducir en Internet Explorer 7.0 con Functional Tester, versión 8.0. Sin embargo, la grabación y reproducción de scripts funciona en Functional Tester 7.x. Este problema podría producirse debido a cambios en Functional Tester para mejorar el rendimiento de la reproducción en Internet Explorer 7.0.
Establezca el distintivo de cambios en el rendimiento en falso (false) y pruebe si el problema se resuelve. Para cambiar el distintivo de rendimiento:
  1. Abra el archivo ivory.properties ubicado en <directorio de instalación de Functional Tester>\SDP\FunctionalTester\bin
  2. Establezca rational.test.ft.html.enableie7performancechanges=false
    Nota: El cambio de este distintivo en falso (false) tendrá un impacto en el rendimiento al probar aplicaciones HTML en Internet Explorer 7.0.
  3. Reinicie Internet Explorer 7.0 para que los cambios entren en vigor.
Conceptos relacionados
Soporte para GEF
Tareas relacionadas
Configuración de propiedades de objeto en la biblioteca de objetos

Comentarios