Los datos capturados por un grabador deben almacenarse en un archivo y, a continuación, un generador de pruebas los utilizará para generar una prueba. Los datos capturados deben definirse de manera que el grabador pueda almacenarlos y que el generador de pruebas pueda utilizarlos.
Para definir un nuevo tipo de datos grabados, lleve a cabo estos pasos:
- Declare un tipo nuevo de paquete de grabador en el archivo plugin.xml, mediante el punto de ampliación com.ibm.rational.test.lt.recorder.core.recorderPacket.
- Defina una o más clases de implementación en el mismo conector que implemente la interfaz: com.ibm.rational.test.lt.recorder.core.packet.IRecorderPacket.
Estos factores se aplican a las implementaciones de clase IRecorderPacket:
- Puede definir tantos campos como necesite para almacenar los datos.
- Como el grabador creará una instancia de estas clases, deben exponer una manera de construirse.
- Debido a que un generador de pruebas utiliza estas clases, deben exponer maneras de recuperar información para el generador de pruebas. En otras palabras, deben exponer métodos getter.
- Debe hacer las clases serializables. Téngalo en cuenta al diseñar las clases. Las clases no debe tener referencias a datos que no desee incluir en la información almacenada.
Los campos que incluyen referencias a datos que no desee almacenar deben declararse mediante la palabra clave transient. Si piensa tener evoluciones a estas clases, asegúrese de que estas evoluciones sean compatibles con versiones anteriores.
Los paquetes de grabador poseen las siguientes características comunes:
- Tienen un tipo. Éste debe ser un ID de tipo declarado en una extensión al punto de ampliación com.ibm.rational.test.lt.recorder.core.recorderPacket. La case de implementación debe estar en el mismo conector donde se declara el ID de tipo.
- Tienen una hora de inicio y una hora de finalización. Esto resulta importante para ordenar paquetes capturados, ya que los grabadores normalmente no envían los paquetes justo en el momento en que son capturados. Muchos paquetes tienen la misma hora para los sucesos de inicio y de finalización porque se capturan automáticamente.
No es necesario que los paquetes tengan diferentes horas de finalización y de inicio. Sin embargo, sí que es obligatorio que la hora de finalización del paquete sea igual o mayor que la hora de inicio. Todas las indicaciones de fecha y hora deben expresarse en unidades que proporciona la infraestructura.
Las unidades deben ser lo más precisas dentro de las posibilidades del sistema.
Para obtener los mejores resultados, siga las recomendaciones de implementación paquetes de grabador:
- Si tiene más de un tipo de datos, defina una interfaz que todas las clases de implementación implementen.
- Defina una interfaz para cada clase de implementación concreta, que simplemente expone características de sólo lectura de la clase. El generador de pruebas sólo necesita acceder a las interfaces, mientras que el grabador necesita tener acceso a las clases.
- No defina campos redundantes o calculables. Como las clases son serializadas, un único campo adicional podría hacer que el archivo de grabación fuera mucho mayor, si se almacenan muchos paquetes. Declare un campo redundante o calculable mediante la palabra clave transient.