Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

Automatizando as operações do WebSphere Message Broker Toolkit usando Rational Functional Tester

Avinash Jhawar, Staff Software Engineer, IBM
Photo of Avinash Jhawar
Avinash Jhawar tem mais de sete anos de experiência em teste e desenvolvimento de software. Atualmente ele trabalha na equipe do WebSphere Message Broker. É possível entrar em contato com Avinash pelo e-mail avjhawar@in.ibm.com.
Pabitra Mukhopadhyay, Software Engineer, IBM
Photo of Pabitra Mukhopadhyay
Pabitra Mukhopadhyay tem mais de cinco anos de experiência em ambientes de mainframes IBM (System z), com experiência em desenvolvimento, aprimoramento e testes de aplicativos. Atualmente ele trabalha na equipe do WebSphere Message Broker. É possível entrar em contato com Pabitra pelo e-mail pabmukho@in.ibm.com.
Ravi SK Sinha, Software Engineer, IBM
Photo of Ravi Sinha
Ravi SK Sinha tem dois anos de experiência em automação e desenvolvimento de produtos de software na IBM. Atualmente, ele trabalha na equipe de Suporte de Nível 3 do WebSphere MQ JMS. É possível entrar em contato com Ravi através do email ravssinh@in.ibm.com.

Resumo:  Este artigo mostra como usar o Rational Functional Tester para automatizar operações do WebSphere Message Broker Toolkit. Os tópicos incluem a configuração do Message Broker Toolkit baseado em Eclipse com o IDE Eclipse do Functional Tester, importação e implementação de scripts de amostra do Message Broker e resolução de problemas.

Data:  14/Nov/2011
Nível:  Intermediário Também disponível em :   Inglês
Atividade:  685 visualizações
Comentários:  


Introdução

O IBM ® WebSphere® Message Broker (referido como Message Broker no restante do artigo) suporta a transformação e roteamento de mensagens entre aplicativos de negócios e inclui um kit de Ferramentas para desenvolvimento e implementação de fluxo de negócios.

O IBM ® Rational® Functional Tester (referido como Functional Tester no restante do artigo) é uma ferramenta de teste que ajuda a automatizar testes funcionais, de regressão, de GUI e acionados por dados. Este artigo mostra como usar o Functional Tester para automatizar operações do Message Broker Toolkit e cobre os seguintes tópicos:

  • Configurando o Message Broker Toolkit baseado em Eclipse com o IDE Eclipse do Functional Tester
  • Scripts de amostra para demonstrar como automatizar as operações do Message Broker Toolkit.
  • Resolução de problemas

É possível automatizar qualquer operação de IDE do Message Broker Toolkit usando o Functional Tester. Como exemplo, este artigo mostra como automatizar a importação e implementação de amostras do Message Broker fornecidas no Message Broker Toolkit.

Benefícios de automatizar o teste manual

Em testes manuais, com certa frequência é necessário executar repetidamente as mesmas etapas de teste, o que pode causar erros, além de ser entediante e demorado. Automatizar os testes com o Message Broker Toolkit pode evitar esses problemas. O Toolkit permite criar e implementar fluxos de mensagens em um tempo de execução do Message Broker. Uma grande organização pode desenvolver e implementar milhares de fluxos de mensagens de negócios. As regras de negócios envolvidas estão sujeitas a mudança dependendo dos requisitos que sempre mudam. Pode ser necessário testar todos os fluxos de negócios para evitar erros de regressão, por exemplo, ao atualizar para uma nova versão do Message Broker, ou quando novos requisitos de negócios obrigam a mudar um fluxo de mensagens, ou seus componentes ou parâmetros.

Pré-requisitos

Para aproveitar este artigo, é necessário ter alguma experiência com código Java™ e deve ter instalado:

  • Rational Functional Tester V8.1 ou superior no Microsoft ® Windows® ou Linux® .
  • WebSphere Message Broker V7 e Message Broker Toolkit V7

Configuração

Crie uma configuração padrão usando o Message Broker Toolkit:

  1. Clique em Help e selecione Welcome.
  2. Clique em Get Started.
  3. Clique em Default Configuration.
  4. Na página Creating the Default Configuration, clique em Start the Default Configuration Wizard e siga as etapas do assistente.

Configure o Functional Tester:

  1. Inicie o Functional Tester (IDE Eclipse) e selecione a área de trabalho se ainda não tiver configurado uma área de trabalho padrão. Em seguida, clique em Configure.
  2. Selecione Enable Environments.
  3. Clique na guia Web Browsers. Para o Windows, o Internet Explorer é incluído por padrão. Se estiver usando Linux, instale o Mozilla Firefox V3.0.4 (pode haver problemas de compatibilidade caso você use uma versão posterior).
  4. Crie libjavaplugin_oji.so como um softlink em /usr/lib/firefox-3.0.4/plugins/, apontando para o arquivo
    /opt/IBM/SDP/jdk/jre/plugin/i386/ns7/libjavaplugin_oji.so:
    >cd /usr/lib/firefox-3.0.4/plugins/
    >ln -s /opt/IBM/SDP/jdk/jre/plugin/i386/ns7/libjavaplugin_oji.so 
    libjavaplugin_oji.so

    /usr/lib/firefox-3.0.4/plugins/ é o local onde o Firefox V3.0.4 foi instalado.
  5. Para verificar se o Functional Tester está ativo no navegador, inicie o Functional Tester e clique em Configure.
  6. Selecione Enable Environments for Testing.
  7. Na janela Enable Environments, clique na guia Web Browsers, selecione Firefox, ative-o e configure-o como o navegador padrão.
  8. Clique em Test . Uma janela de navegador como esta deve ser exibida

    Figura 1. Teste de ativação de navegador


  9. Clique em Run Diagnostic Tests. Após o teste de ativação de navegador ser concluído com sucesso, você deve receber o resultado de teste PASSED:

    Figura 2. Resultado do teste de ativação de navegador


    Para Microsoft Windows, verifique a ativação do Functional Tester no Internet Explorer de maneira semelhante às Figuras 1 e 2 acima.
  10. Agora clique na guia Java Environments:

    Figura 3. Ativar ambientes: JRE


  11. Ative o JRE padrão. Se não houver JRE visível, inclua e ative o JRE do sistema, como mostra a Figura 3 acima. IBM JRE V1.6 é recomendado.
  12. Clique em Test para testar a configuração do JRE. Um pop-up como este deve ser exibido, confirmando o resultado do teste:

    Figura 4. Resultado do teste de configuração JRE


  13. Clique na guia Eclipse Platforms.
  14. Inclua e ative o caminho do Eclipse do Message Broker Toolkit, como mostra a Figura 5:

    Figura 5. Ative ambientes: Eclipse


  15. Clique em Finish.
  16. Clique em Configure.
  17. Selecione Configure applications for testing.
  18. Inclua o executável do Message Broker Toolkit, como mostra a Figura 6, e clique em Finish:

    Figura 6. Ferramenta de Configuração de Aplicativo


  19. Após a configuração ser concluída, inicie o Message Broker Toolkit e verifique se o Test Object Inspector do Functional Tester reconhece os objetos de aplicativo do Message Broker Toolkit. Consulte a Figura 7 abaixo para referência. É necessário que o Test Object Inspector reconheça o objeto de software de aplicativo para poder prosseguir:

    Figura 7. Ferramenta de Configuração de Aplicativo


  20. Deve-se sempre iniciar o software de aplicativo em teste através do Functional Tester: clique no menu Aplicativo da janela Test Object Inspector, como mostra a Figura 8 abaixo. Mas, se desejar iniciar o software em teste sem usar o menu do Functional Tester, inclua o caminho de arquivo /opt/IBM/SDP/FunctionalTester/bin/libftevent.so ao exportar a variável LD_PRELOAD em seu perfil:

    Figura 8. Iniciando o aplicativo em teste usando o Functional Tester


Automatizando operações de GUI usando o Functional Tester

Há várias maneiras de automatizar operações de GUI usando o Functional Tester:

  • Usar código manual.
  • Usar Functional Tester Recorder para registrar e reproduzir scripts: o Functional Tester registra ações do usuário no software em teste e esse script registrado pode ser reproduzido usando o Functional Tester. Para registrar seu próprio script, clique no Menu Script e selecione Add Script Using Recorder.
  • Usar a API find() do Functional Tester ou o método Root Finder: é possível criar seu próprio código Java no Functional Tester para automatizar ações de GUI. O método Root Finder funciona com base nas propriedades de objeto do software em teste.

O método de registro e reprodução de script é mais fácil e rápido de implementar, mas depende muito de resolução e coordenadas de tela. Por isso, a maioria dos scripts registrados não pode ser diretamente movida para outras máquinas, a menos que essas máquinas estejam configuradas identicamente. Além disso, o Functional Tester no Linux não suporta gravação de script. O método Root Finder pode ser usado para lidar com essas limitações e tornar o código robusto e móvel. Este artigo se concentra no uso do método Root Finder para automatizar ações de GUI.

Código Java para o método de automação Root Finder

TestObject[] testObjects = null;
testObjects = root.find(RationalTestScript.atDescendant("<property1>","<value1>",
      ["<property2>","<value2>")]);
if (testObjects.length > 0) {
   RationalTestScript.logInfo("Log text goes here.....");
   GuiTestObject gto = new GuiTestObject(testObjects[0]);
   gto.waitForExistence();
   boolean b=gto.exists();
   if(b==true){
      gto.click();
   }
   gto.unregister();
else {
   RationalTestScript.logError("\n Error message");
   }
}

Explicação do fragmento de código:

  • TestObject contém as referências de um objeto de GUI no Message Broker Toolkit:
    TestObject[] testObjects = null;

  • Essa linha de código localiza o objeto de GUI com base nas propriedades do parâmetro find. A função aceita um ou dois parâmetros como entrada:
    testObjects = root.find(RationalTestScript.atDescendant("<property1>","<value1>",
    ["<property2>","<value2>")]);

  • Essa linha de código registra as informações no log de teste do Functional Tester:
    RationalTestScript.logInfo("Log text goes here.....");

  • Essa linha de código obtém a referência do objeto encontrado pelo root finder. Essa referência é usada para operações de GUI posteriormente no programa:
    GuiTestObject gto = new GuiTestObject(testObjects[0]);

  • Essa linha de código aguarda até que o objeto seja criado:
    gto.waitForExistence();

  • Essa linha de código realiza uma operação de clique com o botão esquerdo no objeto de referência:
    gto.click();

  • Essa linha de código remove a referência do objeto:
    gto.unregister();

Há diferentes maneiras de verificar resultados intermediários em relação a uma linha de base. É possível usar a manipulação programática de erros por meio de exceções, o que foi usado no código de amostra fornecido com este artigo. Também é possível inserir pontos de verificação no código, selecionando Script => Insert verification point.

Executando o código de amostra

É possível fazer download do código de amostra do Functional Tester escrito em Java na parte inferior do artigo. Esse código inicia o Message Broker Toolkit, importa e implementa a Amostra de Lista de Endereços e, em seguida, remove a amostra do Message Broker e da área de trabalho do Message Broker Toolkit. Descompacte o arquivo e importe o arquivo .rftjdtr em um novo projeto do Functional Tester como um item de projeto Functional Test. Em seguida execute o script WMBAutomation.

Resolução de problemas

  1. Se a tela do Windows ou Linux for bloqueada automaticamente ou pelo usuário, o Functional Tester não poderá prosseguir. Para superar essa limitação, instale o servidor UltraVNC na máquina de teste e inicie a execução do teste a partir de outro desktop, usando o cliente UltraVNC.
  2. Se o Functional Tester não conseguir reconhecer os objetos rápido o suficiente, é possível variar o nível de ScriptAssure Recognition e o nível de Aviso: selecione Window => Preferences => Playback => ScriptAssure.
  3. Se você estiver usando uma imagem como ponto de verificação, é possível configurar a tolerância de verificação de imagem no arquivo ivory.properties no diretório RFT_installation_directory/bin. Faça as seguintes alterações no arquivo:
    • Configure rational.test.ft.image.use.tolerance como true
    • Configure rational.test.ft.image.tolerance entre 0 e 100, dependendo da porcentagem de nível de tolerância exigida.


Download

DescriçãoNomeTamanhoMétodo de download
Code sampleWMBAutomation.zip7 KBHTTP

Informações sobre métodos de download


Recursos

Sobre os autores

Photo of Avinash Jhawar

Avinash Jhawar tem mais de sete anos de experiência em teste e desenvolvimento de software. Atualmente ele trabalha na equipe do WebSphere Message Broker. É possível entrar em contato com Avinash pelo e-mail avjhawar@in.ibm.com.

Photo of Pabitra Mukhopadhyay

Pabitra Mukhopadhyay tem mais de cinco anos de experiência em ambientes de mainframes IBM (System z), com experiência em desenvolvimento, aprimoramento e testes de aplicativos. Atualmente ele trabalha na equipe do WebSphere Message Broker. É possível entrar em contato com Pabitra pelo e-mail pabmukho@in.ibm.com.

Photo of Ravi Sinha

Ravi SK Sinha tem dois anos de experiência em automação e desenvolvimento de produtos de software na IBM. Atualmente, ele trabalha na equipe de Suporte de Nível 3 do WebSphere MQ JMS. É possível entrar em contato com Ravi através do email ravssinh@in.ibm.com.

Ajuda para Relatar Abuso

Relatar abuso

Obrigado. Esta entrada foi sinalizada para atenção do moderador.


Ajuda para Relatar Abuso

Relatar abuso

Falha no envio do Relatório de abuso. Tente novamente mais tarde.


developerWorks: Registre-se


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Selecione seu nome de exibição

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

(Deve possuir de 3 a 31 caracteres.)


Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Classificar este artigo

Comentários

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=WebSphere
ArticleID=772830
ArticleTitle=Automatizando as operações do WebSphere Message Broker Toolkit usando Rational Functional Tester
publish-date=11142011

Conheça a IBM da sua cidade

Virtual Branch Office Brasil

A IBM está mais perto do que você imagina!


Tags

Help
Use o campo de pesquisa para encontrar todos os tipos de conteúdo no My developerWorks com essa tag.

Use a barra de rolagem para ver mais ou menos tags.

Tags populares mostra as principais tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Minhas tags mostra suas tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Use o campo de pesquisa para localizar todos os tipos de conteúdo no Meu developerWorks com essa tag. Tags populares mostra as tags principais para essa zona de conteúdo particular (por exemplo, tecnologia Java, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere). Minhas tags mostra as suas tags para essa zona de conteúdo em particular (por exemplo, tecnologia Java, Linux, WebSphere).