Pregunta

Me acaba de instalar Hudson y que está funcionando muy bien. Se construye, se ejecuta JUnit-pruebas y también análisis CheckStyle.

El siguiente paso para nosotros sería la creación de una instalación, instalarlo y luego ejecutar pruebas automatizadas en la instalación real. Después me gustaría a fallar la acumulación Si las pruebas fallan o al menos publican los resultados de alguna manera. Creo que habría configurarlo de manera que una parte corre disparado periódicamente o de forma manual.

Utilizamos InstallAnywhere para la instalación y el IBM Rational Functional Tester de pruebas automatizadas.

Así que las preguntas son: ¿Alguien creó una configuración similar? ¿hay plugins, tutoriales u otros recursos que podrían ayudar a mí a lo largo. ¿O tiene algún consejo o asesoramiento en general.

¿Fue útil?

Solución

Hemos llevado a cabo una acumulación distribuida bastante complicado en Hudson, es un proceso que básicamente sigue:

  1. Prueba en Windows.
  2. Prueba en OSX, ejecute la cobertura de código y empujar los resultados al servidor.
  3. Prueba en OSX Tiger.
  4. Paquete para OSX Leopard y empujar a construir servidor.
  5. paquetes para Windows y empujan a construir servidor.
  6. sitio web de actualización del producto.

No utilizar InstallAnywhere o Rational Functional Tester, pero tienen tipos similares de mecanismos en su lugar. La clave que encontramos a lo que todos cantan en Hudson fue poder funcionar nuestros diversos pasos de la línea de comandos. Maven y complementos adecuados hizo brevemente el trabajo de esta tarea. Así que mi consejo sería sólo eso, usando cualquier herramienta de construcción que está utilizando (hormiga, Maven,?) Configurarlos para que pueda ejecutar su Rational Functional Tester e instalar en cualquier lugar de la línea de comandos con un simple objetivo pasó a su herramienta de construcción ( es decir, prueba de MVN o montaje mvn:. montaje)

Después de eso, asegúrese de que cualquiera que sea la máquina Hudson se está ejecutando en ha todo instalado (Functional Tester es decir, racional) y configurado, para que pueda abrir la línea de comandos y escribir la meta y tener sus pruebas se ejecutan correctamente.

conectarlo en Hudson partir de ese momento es bastante simple -. Sólo tiene que pasar en el objetivo cuando se configura la creación

Otros consejos

La referencia de línea de comandos para Rational Functional Tester:

http://publib.boulder.ibm.com/infocenter/rfthelp/v8r0m0/index.jsp?topic=/com.ibm.rational.test.ft.doc/topics/RobotJCommandLine.html

comando de ejemplo para ejecutar una prueba:

java -classpath "C:\IBM\RFT\FunctionalTester\bin\rational_ft.jar" 
com.rational.test.ft.rational_ft -datastore \\My_project\AUser\RobotJProjects -user admin -project
\\My_project\AUser\TestManagerProjects\Test.rsp -build "Build 1" -logfolder "Default" -log  
"Al_SimpleClassicsA#1" -rt.log_format "TestManager" -rt.bring_up_logviewer true -playback 
basetests.SimpleClassicsA_01

Una nota adicional, tendrá que configurar ventanas correctamente en su máquina agente que va a ejecutar las pruebas. Este no es un consejo específico para Hudson o RFT, sino más bien todas las herramientas de automatización de interfaz gráfica de usuario en Windows. RFT se requiere un entorno de escritorio interactivo para que sea capaz de hacer clic botones, etc Si usted tiene su agente de Hudson se ejecuta como un servicio de Windows, no habrá escritorio. Véase el siguiente: Silverlight no pruebas de trabajo, a menos conexión RDP abierto

Tengo algunos consejos generales sobre esto porque todavía no he implementado este mismo. Estoy asumiendo que usted quiere tener Hudson ejecutar los scripts RFT automáticamente para usted a través de un proceso de compilación o Hudson? Quiero poner en práctica algo similar en mi organización también.

Todavía no he podido poner en práctica esto debido a limitaciones de la organización, pero aquí es lo que he pensado / hecho hasta ahora:

  1. visor de procesos descargaronWindows, consiguió el comando para ejecutar las pruebas.
  2. Made shell script fuera de él, separa las variables etc
  3. El plan de futuro es configurar una máquina Windows esclavo que tendría todas las herramientas en los mismos que serían necesarias una vez que las pruebas se iniciaron, por ejemplo. las versiones correctas de los navegadores, y variables de entorno, y otras herramientas que se requieren.
  4. Hudson sería poner en marcha un proceso que se ejecuta el shell scripts creados que se ejecuta todos los scripts RFT y lleva a cabo las operaciones necesarias en la máquina esclava.

Creo que la mejor respuesta es que la integración de RFT con Hudson / Jenkins es un esfuerzo inútil.

IBM FAQ dice, para hacer RFT trabajar debe:

  • iniciar sesión en la máquina;
  • la pantalla no puede ser bloqueado;
  • si está conectado de forma remota, no se puede minimizar la pantalla de conexión.

Así que no se puede ejecutar Jenkins / Hudson como un servicio, por lo que es no es muy útil. Debe ejecutarlo desde su cuenta registrada. Si se encuentra en una computadora corporativa (muy probable si está utilizando RFT), es probable que debe utilizar una cortar para evitar que el protector de pantalla para iniciar . Si la pantalla está bloqueada, las pruebas serán siempre falla.

No es muy difícil de configurar sus pruebas a ejecutar desde la línea de comandos , sólo hay que tener cuidado de los códigos de retorno cuando las pruebas fallan y tener éxito.

Jenkins / Hudson también le daría algunas ventajas, como la integración de las pruebas con el control de versiones, probablemente, la ejecución automática de las pruebas Cuando una confirmación está hecha. También ayudaría a enviar correos electrónicos cuando las pruebas fallan.

Pero a pesar de ello tiene que integrar los registros de RFT con algún tipo de JUnit plugin para tener un buen informe. También tendría que tener secuencia de comandos para ejecutar las pruebas usando la línea de comandos.

Creo que no vale la pena la molestia de utilizar un servidor de integración continua con RFT. Mejor solo tiene sus pruebas se ejecutan todos los días en el programador de tareas de Windows. Es una solución más simple con menos puntos de falla.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top