Para implementar la correlación de datos durante la ejecución, configure la clase que amplía la clase com.ibm.rational.test.lt.kernel.action.KAction para desencadenar una llamada en el motor de correlación de datos.
Antes de empezar
Para implementar la correlación de datos, familiarícese previamente
con las clases siguientes:
- com.ibm.rational.test.lt.datacorrelation.execution.harvest.IDataHarvester
- com.ibm.rational.test.lt.datacorrelation.execution.sub.IDataSub
- IDataCorrelationVar
- com.ibm.rational.test.lt.datacorrelation.execution.proto.IProtoActionAdapter
Consulte la información Javadoc para obtener descripciones de clases y métodos.
Acerca de esta tarea
La interfaz
IKAction define la funcionalidad básica
que todas las acciones del kernel deben implementar. La interfaz
IKAction es la interfaz
básica para todas las acciones del kernel. Las acciones pueden representar bucles, condiciones u otras construcciones de
código.
Para implementar la correlación de datos durante la ejecución, codegen graba los
recopiladores y sustitutos en contenedores.
Para implementar la correlación de datos en tiempo de ejecución, codegen tendrá que grabar los recopiladores y sustitutos en contenedores. Esto se consigue llamando a los métodos LTTestTranslator.translateHarvesterContainer() y LTTestTranslator.translateSubstituterContainer() en tiempo de codegen, cuando está convirtiendo su acción. Ambos métodos se encuentran en el conector com.ibm.rational.test.lt.codegen.core. Estos contenedores tendrán que añadirse a la acción y almacenarse con ella. Estos contenedores se deben añadir a la acción y almacenarse en ella. Cuando se ejecutan las acciones, deben llamar a estos contenedores
de sustitutos y orígenes de datos. El contenedor de sustitutos se llama
al principio de la acción, antes de enviar los datos, y el contenedor de orígenes de
datos se llama al final de la acción, tras haber recibido los datos.
Procedimiento
Para implementar la parte de ejecución de la correlación de datos:
- Debe ampliar un punto de ampliación en codegen.core para obtener la ejecución IProtoActionAdapter grabada para su reproducción:
- Amplíe el punto de ampliación DataCorrelationProtoAdapter en el paquete
com.ibm.rational.test.lt.codegen.core. Para realizar la ampliación, utilice el conector que es la ampliación del
conector com.ibm.rational.test.lt.datacorrelation.execution que implementa la interfaz
IProtoActionAdapter.
- Indique al conector com.ibm.rational.test.lt.datacorrelation.execution qué tipos de
IKAction hay que gestionar y el nombre del conector.
- Una vez completada, debería ver algo parecido a lo siguiente cerca del principio del código .java generado:
pa.addPA("com.ibm.rational.test.lt.sdksamples.datacorrelation.execution.socket.SocketActionAdapter",
"com.ibm.rational.test.lt.sdksamples.protocol.socket.io.SocketSend");
La primera serie debería ser el nombre de la clase que implementa IProtoActionAdapter,
y la segunda seria debería ser el nombre de KAction para la que la clase IProtoActionAdapter se debería llamar. Escriba sin faltas de ortografía, puesto que tiene que estar escrito correctamente.
- Para implementar la ampliación del conector datacorrelation.execution, el conector
debe implementar la interfaz com.ibm.rational.test.lt.datacorrelation.execution.IProtoActionAdapter. El conector com.ibm.rational.test.lt.datacorrelation.execution principal
utiliza la interfaz para llamar al conector y para obtener la información para la implementación.
Nota: Se trata también del conector que amplía la clase DataCorrelationProtoAdapter en el punto de
ampliación codegen.
- Para iniciar el proceso de sustitución en el método IDataSub.substituteData(),
utilice la acción y el mapa hash como parámetros.
- La acción que está actualmente activa llamará al método com.ibm.rational.test.lt.datacorrelation.execution.sub.IDataSub.substituteData(). El contenedor de sustitución ejecuta todas las normas de sustitución y coloca los nuevos valores de serie (que se leen de las variables de correlación de datos) en el mapa hashMap. El primer valor de hashMap es propertyType, y el segundo es toda la serie completa para dicho propertyType.
De modo que, cuando la sustitución se haya llevado a cabo, la serie entera se solucionará automáticamente.
- El contenedor de sustitutos devuelve el control a la interfaz IKAction.
- La interfaz IKAction lee los valores de serie del mapa hash
y los envía a los lugares adecuados.
- Para empezar la recopilación de datos, la acción que está actualmente activa
llama al método IDataHarvester.harvestData(). La acción pasa automáticamente
al contenedor.
- El recopilador de datos llama al conector que ha ampliado el conector de
ejecución de correlación de datos para obtener los valores de serie a los que
deben aplicarse las reglas de recopilación.
- El contenedor de recopiladores coloca los valores recopilados en variables de
correlación de datos. A continuación, estas variables de correlación
de datos se utilizan en ejecuciones de sustitución posteriores.