Implementazione della correlazione dati per l'esecuzione

Per implementare la correlazione di dati durante l'esecuzione, impostare la classe che estende la classe com.ibm.rational.test.lt.kernel.action.KAction per effettuare una chiamata nel motore di correlazione dati.
Prima di iniziare
Prima di implementare la correlazione di dati, conoscere le seguenti classi: Fare riferimento alle informazioni Javadoc per le descrizioni delle classi e dei metodi.
Informazioni su questa attività
L'interfaccia IKAction definisce la funzionalità di base che deve essere implementata da tutte le azioni Kernel. L'interfaccia IKAction è l'interfaccia di base per tutte le azioni kernel. Le azioni possono rappresentare cicli, condizioni o altri costrutti di codice.

Per implementare la correlazione di dati durante l'esecuzione, codegen scrive gli harvester e i substituter in contenitori. Per implementare la correlazione dati in fase di esecuzione, la generazione del codice dovrà scrivere gli harvester e i substituter nei contenitori. Questo viene fatto chiamando LTTestTranslator.translateHarvesterContainer() e LTTestTranslator.translateSubstituterContainer() al momento della generazione del codice quando si sta traducendo la propria azione. Entrambi questi metodi si trovano nel plug-in com.ibm.rational.test.lt.codegen.core. Questi contenitori devono essere aggiunti all'azione e memorizzati nell'azione. Questi contenitori devono essere aggiunti e archiviati con l'azione. Quando vengono eseguite le azioni, è necessario richiamare questo programma di sostituzione e i contenitori dell'origine dati. Il contenitore del programma di sostituzione viene richiamato all'inizio dell'azione, prima di inviare i dati e il contenitore dell'origine dati viene richiamato alla fine dell'azione, dopo aver ricevuto i dati.

Completare le procedure di seguito riportate per implementare la porzione di esecuzione della correlazione dati.

  1. È necessario estendere un punto di estensione in codegen.core per fare in modo che IProtoActionAdapter di esecuzione sia registrato per la riproduzione.
    1. Estendere il punto di estensione DataCorrelationProtoAdapter nel package com.ibm.rational.test.lt.codegen.core. Per eseguire l'estensione, utilizzare il plug-in che è l'estensione al plug-in com.ibm.rational.test.lt.datacorrelation.execution che implementa l'interfaccia IProtoActionAdapter.
    2. Indicare al plug-in com.ibm.rational.test.lt.datacorrelation.execution i tipi di IKAction da gestire e il nome del plug-in.
    3. Una volta completata questa azione, è necessario visualizzare qualcosa di simile a quanto segue accanto alla parte superiore del codice .java generato:

      pa.addPA("com.ibm.rational.test.lt.sdksamples.datacorrelation.execution.socket.SocketActionAdapter", "com.ibm.rational.test.lt.sdksamples.protocol.socket.io.SocketSend"); La prima stringa dovrebbe essere il nome della classe che implementa IProtoActionAdapter e la seconda stringa dovrebbe essere il nome di KAction per cui la classe IProtoActionAdapter dovrebbe essere chiamata. Attenzione allo spelling, perché deve essere perfettamente esatto.

  2. Per implementare l'estensione del plug-in datacorrelation.execution, il plug-in deve implementare l'interfaccia com.ibm.rational.test.lt.datacorrelation.execution.IProtoActionAdapter . Il plug-in com.ibm.rational.test.lt.datacorrelation.execution principale utilizza l'interfaccia per chiamare il plug-in ed ottenere informazioni per l'implementazione.
    Nota: questo è anche il plug-in che estende la classe DataCorrelationProtoAdapter nel punto di estensione codegen.
  3. Per avviare il processo di sostituzione, nel metodo IDataSub.substituteData(), utilizzare l'azione e la mappa hash come parametri.
    1. L'azione correntemente attiva richiamerà il metodo com.ibm.rational.test.lt.datacorrelation.execution.sub.IDataSub.substituteData(). Il contenitore di sostituzione esegue tutte le regole di sostituzione e inserirà i nuovi valori della stringa (letti dalle variabili di correlazione dati) in hashMap. Il primo valore di hashMap è propertyType ed il secondo è l'intera nuova stringa per quel propertyType. Quindi, una volta eseguita la sostituzione, questa corregge la prima stringa.
    2. Il contenitore di sostituzione restituirà il controllo all'interfaccia IKAction.
    3. L'interfaccia IKAction legge i valori di stringa dalla mappa hash e li invia dove appropriato.
  4. Per avviare l'harvest dei dati, l'azione che è al momento attiva chiama il metodo IDataHarvester.harvestData(). L'azione verrà inviato al contenitore.
    1. L'harvester di dati chiama il plug-in che ha esteso il plug-in di esecuzione della correlazione dati per richiamare i valori della stringa a cui è necessario applicare le regole harvest.
    2. Il contenitore harvester di dati posiziona i valori harvest nelle variabili di correlazione dati. Tali variabili di correlazione dati vengono quindi utilizzate nelle esecuzioni di sostituzione successive.

Feedback