Implementando a Correlação de Dados para Execução

Para implementar a correlação de dados durante a execução, configure sua classe que estende a classe com.ibm.rational.test.lt.kernel.action.KAction para acionar uma chamada para o mecanismo de correlação de dados.

Antes de Iniciar

Antes de implementar a correlação de dados, familiarize-se com as seguintes classes: Consulte as informações do Javadoc para obter descrições de classe e método.

Sobre Esta Tarefa

A interface IKAction define a funcionalidade básica que todas as ações de kernel devem implementar. A interface IKAction é a interface de base para todas as ações de kernel. As ações podem representar loops, condições ou outras construções de código.

Para implementar a correlação de dados durante a execução, o codegen grava seus provedores de serviço e substitutos nos contêineres. Para implementar a correlação de dados na hora da execução, o codegen precisará gravar seus provedores de serviço e substitutos nos contêineres. Isso é feito chamando LTTestTranslator.translateHarvesterContainer() e LTTestTranslator.translateSubstituterContainer() na hora do codegen, quando você está convertendo sua ação. Esses dois métodos estão no plug-in com.ibm.rational.test.lt.codegen.core. Esses contêineres precisam ser incluídos na ação e armazenados com a ação. Esses contêineres devem ser incluídos e armazenados com a ação. Quando as ações estiverem sendo executadas, elas devem chamar esses contêineres de substituto e origem de dados. O contêiner de substituto é chamado no começo da ação, antes do envio de dados, e o contêiner de origem de dados é chamado no final da ação, após o recebimento dos dados.

Procedimento

Para implementar a parte de execução da correlação de dados:

  1. Você deve estender um ponto de extensão em codegen.core para ter a execução IProtoActionAdapter registrada para reprodução:
    1. Estenda o ponto de extensão DataCorrelationProtoAdapter no pacote com.ibm.rational.test.lt.codegen.core. Para fazer a extensão, utilize seu plug-in que é a extensão para o plug-in com.ibm.rational.test.lt.datacorrelation.execution que implementa a interface IProtoActionAdapter.
    2. Informe ao plug-in com.ibm.rational.test.lt.datacorrelation.execution quais tipos de IKAction devem ser manipulados e o nome do plug-in.
    3. Ao concluir, você deve ver algo semelhante ao seguinte incluído próximo ao topo do código .java gerado:

      pa.addPA("com.ibm.rational.test.lt.sdksamples.datacorrelation.execution.socket.SocketActionAdapter", "com.ibm.rational.test.lt.sdksamples.protocol.socket.io.SocketSend"); A primeira cadeia deve ser o nome da classe que implementa o IProtoActionAdapter e a segunda cadeia deve ser o nome de KAction, para a qual a classe IProtoActionAdapter deve ser chamada. Seja cuidadoso com a ortografia, pois tem que estar correta.

  2. Para implementar a execução do plug-in datacorrelation.execution, seu plug-in precisa implementar a interface com.ibm.rational.test.lt.datacorrelation.execution.IProtoActionAdapter. O plug-in com.ibm.rational.test.lt.datacorrelation.execution principal utiliza a interface para chamar seu plug-in e para obter as informações para a implementação.
    Nota: Este é também o plug-in que estende a classe DataCorrelationProtoAdapter no ponto de extensão codegen.
  3. Para iniciar o processo de substituição, no método IDataSub.substituteData(), utilize a ação e o mapa de hash como parâmetros.
    1. A ação atualmente ativa chamará o método com.ibm.rational.test.lt.datacorrelation.execution.sub.IDataSub.substituteData(). O contêiner de substituição executa todas as regras de substituição e coloca os novos valores de cadeia (ler nas variáveis de correlação) no hashMap. O primeiro valor de hashMap é propertyType e o segundo valor é toda a nova cadeia para propertyType. Então, ao concluir a substituição, toda a cadeia é corrigida.
    2. O contêiner de substituto retorna o controle para a interface IKAction.
    3. A interface IKAction lê os valores de cadeia do mapa de hash e os envia para os lugares apropriados.
  4. Para iniciar a colheita de dados, a ação que está ativa atualmente chama o método IDataHarvester.harvestData(). A ação transmite a si própria para o contêiner.
    1. O colhedor de dados chama o plug-in que estendeu o plug-in de execução de correlação de dados para obter os valores de cadeia aos quais as regras de colheita precisam ser aplicadas.
    2. O contêiner do colhedor de dados coloca os valores colhidos em variáveis de correlação de dados. Essas variáveis de correlação de dados serão então utilizadas em execuções substitutas posteriores.

Feedback