Implémentation de la corrélation des données pour l'exécution

Pour pouvoir implémenter la corrélation des données lors de l'exécution, configurez la classe qui étend la classe com.ibm.rational.test.lt.kernel.action.KAction afin de déclencher un appel dans le moteur de corrélation des données.

Avant de commencer

Avant d'implémenter la corrélation des données, familiarisez-vous avec les classes suivantes : Consultez la documentation Javadoc pour plus d'informations sur les classes et les méthodes.

Pourquoi et quand exécuter cette tâche

L'interface IKAction définit la fonctionnalité de base que toutes les actions de noyau doivent implémenter. L'interface IKAction correspond à l'interface de base de toutes les actions de noyau. Les actions peuvent représenter des boucles, des conditions ou d'autres constructions de code.

Pour que la corrélation des données puisse être implémentée lors de l'exécution, codegen enregistre vos collecteurs et vos remplaçants dans des conteneurs. Pour que la corrélation des données puisse être implémentée lors de l'exécution, codegen doit enregistrer vos collecteurs et vos remplaçants dans des conteneurs. Pour cela les méthodes LTTestTranslator.translateHarvesterContainer() et LTTestTranslator.translateSubstituterContainer() sont appelées lors de la génération du code lorsque vous convertissez votre action. Ces deux méthodes se trouvent dans le plug-in com.ibm.rational.test.lt.codegen.core. Ces conteneurs doivent être ajoutés à votre action et stockés avec votre action. Ces conteneurs doivent être ajoutés à votre action et stockés avec votre action. Lors de l'exécution de vos actions, ces dernières doivent appeler ces conteneurs de sources de données et de remplaçants. Le conteneur de remplaçants est appelé au début de l'action, avant l'envoi de données, et le conteneur de sources de données est appelé à la fin de l'action, après la réception des données.

Procédure

Pour implémenter la partie exécution de la corrélation des données :

  1. Vous devez étendre un point d'extension dans codegen.core pour que votre exécution IProtoActionAdapter soit enregistrée pour la lecture :
    1. Etendez le point d'extension DataCorrelationProtoAdapter dans le package com.ibm.rational.test.lt.codegen.core. Pour procéder à l'extension, utilisez le plug-in qui correspond à l'extension du plug-in com.ibm.rational.test.lt.datacorrelation.execution qui implémente l'interface IProtoActionAdapter.
    2. Indiquez au plug-in com.ibm.rational.test.lt.datacorrelation.execution les types d'action IKAction à gérer et le nom de votre plug-in.
    3. Une fois cette opération terminée, une sortie similaire à la suivante est ajoutée dans la partie supérieure de votre code .java généré :

      pa.addPA("com.ibm.rational.test.lt.sdksamples.datacorrelation.execution.socket.SocketActionAdapter", "com.ibm.rational.test.lt.sdksamples.protocol.socket.io.SocketSend"); La première chaîne doit correspondre au nom de votre classe qui implémente l'adaptateur IProtoActionAdapter et la deuxième chaîne doit correspondre au nom de l'interface KAction pour laquelle votre classe IProtoActionAdapter doit être appelée. Attention, ces chaînes doivent être correctement orthographiées.

  2. Pour implémenter l'extension de plug-in datacorrelation.execution, votre plug-in doit implémenter l'interface com.ibm.rational.test.lt.datacorrelation.execution.IProtoActionAdapter . Le plug-in com.ibm.rational.test.lt.datacorrelation.execution principal utilise l'interface pour appeler votre plug-in et obtenir les informations d'implémentation.
    Remarque : Il s'agit également du plug-in qui étend la classe DataCorrelationProtoAdapter dans le point d'extension codegen.
  3. Pour démarrer le processus de remplacement, dans la méthode IDataSub.substituteData(), utilisez l'action et la mappe de hachage comme paramètres.
    1. L'action active appelle la méthode com.ibm.rational.test.lt.datacorrelation.execution.sub.IDataSub.substituteData(). Le conteneur de remplacement applique toutes les règles de remplacement et place les nouvelles valeurs de chaîne (lues à partir des variables de corrélation des données) dans la mappe de hachage. La première valeur de la mappe de hachage correspond au type de propriété et la seconde, à la chaîne intégrale de ce type de propriété. Par conséquent, une fois la substitution terminée, la chaîne est automatiquement corrigée.
    2. Le conteneur de remplaçants passe ensuite la main à l'interface IKAction.
    3. L'interface IKAction lit les valeurs de chaîne à partir de la mappe de hachage et les envoie aux emplacements appropriés.
  4. Pour commencer la collecte des données, l'action active appelle la méthode IDataHarvester.harvestData(). L'action se transmet elle-même au conteneur.
    1. Le collecteur des données appelle le plug-in qui étend le plug-in d'exécution de la corrélation des données pour extraire les valeurs de chaîne auxquelles les règles de collection doivent être appliquées.
    2. Le conteneur de collecteurs de données place les valeurs collectées dans des variables de corrélation des données. Ces variables de corrélation des données sont utilisées dans des exécutions de remplacement ultérieures.

Commentaires