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.
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
Crie uma configuração padrão usando o Message Broker Toolkit:
- Clique em Help e selecione Welcome.
- Clique em Get Started.
- Clique em Default Configuration.
- Na página Creating the Default Configuration, clique em Start the Default Configuration Wizard e siga as etapas do assistente.
Configure o Functional Tester:
- 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.
- Selecione Enable Environments.
- 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).
- Crie
libjavaplugin_oji.socomo 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. - Para verificar se o Functional Tester está ativo no navegador, inicie o Functional Tester e clique em Configure.
- Selecione Enable Environments for Testing.
- Na janela Enable Environments, clique na guia Web Browsers, selecione Firefox, ative-o e configure-o como o navegador padrão.
- Clique em Test . Uma janela de navegador como esta deve ser exibida
Figura 1. Teste de ativação de navegador

- 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. - Agora clique na guia Java Environments:
Figura 3. Ativar ambientes: JRE

- 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.
- 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

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

- Clique em Finish.
- Clique em Configure.
- Selecione Configure applications for testing.
- 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

- 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

- 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.soao exportar a variávelLD_PRELOADem 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:
TestObjectconté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.
- 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.
- 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.
- 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.propertiesno diretórioRFT_installation_directory/bin. Faça as seguintes alterações no arquivo:- Configure
rational.test.ft.image.use.tolerancecomotrue - Configure
rational.test.ft.image.toleranceentre 0 e 100, dependendo da porcentagem de nível de tolerância exigida.
- Configure
| Descrição | Nome | Tamanho | Método de download |
|---|---|---|---|
| Code sample | WMBAutomation.zip | 7 KB | HTTP |
Informações sobre métodos de download
- Recursos do WebSphere Message Broker
- Centro de informações do WebSphere Message Broker V7
Um portal da web único que reúne toda a documentação do WebSphere Message Broker V7, com conceitos, tarefas e informações de referência sobre a instalação, a configuração e o uso do seu ambiente WebSphere Message Broker. - Página de recursos para desenvolvedor do WebSphere Message Broker
Recursos técnicos para ajudar a usar o WebSphere Message Broker para conectividade, transformação de dados universal e integração em nível corporativo de serviços, aplicativos e plataformas diversos, para reforçar sua SOA. - Página do produto WebSphere Message Broker
Descrições do produto, notícias sobre o produto, informações de treinamento, informações de suporte, etc. - O que há de novo no WebSphere Message Broker V7
O WebSphere Message Broker V7 fornece conectividade universal com sua capacidade de rotear e transformar mensagens de qualquer lugar para qualquer lugar. Por meio de seu modelo de programação simples e uma eficiente interface de gerenciamento operacional, ele facilita muito o desenvolvimento, a implementação e a manutenção de soluções complexas de integração de aplicativos. Esse artigo descreve os principais aprimoramentos na V7. - Faça download de uma versão de teste gratuita do WebSphere Message Broker V7
O WebSphere Message Broker V7 é uma compilação ESB para conectividade universal e transformação em ambientes heterogêneos de TI. Ele distribui informações e dados gerados por eventos de negócio em tempo real para pessoas, aplicativos e dispositivos por todo a sua empresa, e além dela. - Biblioteca de documentação do WebSphere Message Broker
Especificações e manuais do WebSphere Message Broker. - Fórum do WebSphere Message Broker
Obtenha respostas para as suas perguntas técnicas e compartilhe seu conhecimento com outros usuários do Message Broker. - Página de suporte do WebSphere Message Broker
Um banco de dados para pesquisa de problemas de suporte e suas soluções, além de downloads, correções e rastreamento de problemas. - Redbook: Patterns: SOA design using WebSphere Message Broker and WebSphere ESB
Padrões para e-business formam um grupo de ativos comprovados e reutilizáveis que podem ser usados para desenvolver e implementar rapidamente aplicativo de e-business. Esse Redbook mostra como usar o WebSphere Message Broker com o WebSphere ESB para implementar um ESB dentro de SOA. Inclui um cenário para demonstrar o design, o desenvolvimento e a implementação
- Centro de informações do WebSphere Message Broker V7
- Recursos do WebSphere
- Recursos para desenvolvedores WebSphere no developerWorks
Informações técnicas e recursos para desenvolvedores que usam produtos WebSphere. O WebSphere no developerWorks fornece downloads de produtos, informações de instruções, recursos de suporte e uma biblioteca técnica grátis com mais de 2.000 artigos técnicos, tutoriais, melhores práticas, IBM Redbooks e manuais on-line de produtos. - Recursos para desenvolvedores de integração de aplicativos WebSphere no developerWorks
Artigos de instruções, downloads, tutoriais, educação, informações sobre o produto e outros recursos para ajudá-lo a desenvolver integração de aplicativos e soluções de integração de negócios em WebSphere. - Recursos do desenvolvedor de gerenciamento de processos de negócio do WebSphere no developerWorks
Artigos de instruções, downloads, tutoriais, educação, informações de produtos e outros recursos do WebSphere BPM para ajudá-lo a modelar, montar, implementar e gerenciar processos de negócios. - Recursos de desenvolvedor de SOA e serviços da web do WebSphere no developerWorks
Artigos de instruções, downloads, tutoriais, aprendizado, informações de produtos e outros recursos para ajudá-lo a projetar e desenvolver soluções de SOA e serviços da web do WebSphere. - Downloads de versão de teste do WebSphere mais populares
Downloads de versão gratuita de teste dos principais produtos do WebSphere. - Fóruns do WebSphere
Fóruns específicos do produto nos quais é possível obter respostas de perguntas técnicas e compartilhar o seu conhecimento com outros usuários de WebSphere. - Demos On Demand do WebSphere
Faça o download e acompanhe essas demos de execução automática, e saiba como os produtos e tecnologias WebSphere podem ajudar sua empresa a responder a um ambiente de negócios em rápida mudança e com complexidade crescente. - Boletim semanal sobre o WebSphere do developerWorks
O boletim do developerWorks oferece artigos e informações mais recentes somente naqueles tópicos que interessam a você. Além do WebSphere, é possível selecionar entre Java, Linux, Open source, Rational, SOA, serviços da Web e outros tópicos. Inscreva-se agora e indique as mensagens que deseja receber. - Livros da IBM Press relacionados ao WebSphere
Compras on-line convenientes por meio da Barnes & Noble. - Eventos relacionados ao WebSphere
Conferências, exposições, Webcasts e outros eventos em todo o mundo que são do interesse dos desenvolvedores WebSphere.
- Recursos para desenvolvedores WebSphere no developerWorks
- Recursos do developerWorks
- Downloads de teste de produtos de software IBM
Downloads de teste sem custo de produtos da IBM® DB2®, Lotus®, Rational®, Tivoli® e WebSphere® de ponta. - blogs do developerWorks
Participe de uma conversa com os usuários e autores do developerWorks, e com editores e desenvolvedores da IBM. - Instruções técnicas do developerWorks
Sessões informativas técnicas grátis realizadas por especialistas IBM para acelerar a sua curva de aprendizagem e ajudá-lo a ter sucesso nos seus projetos de software mais desafiadores. As sessões informativas vão de sessões virtuais de uma hora a sessões ao vivo com meio dia e um dia inteiro de duração em cidades do mundo todo. - Podcasts do developerWorks
Ouça entrevistas e discussões interessantes com inovadores de software. - o developerWorks no Twitter
Confira as nossas mensagens e URLs recentes no Twitter. - IBM Education Assistant
Uma coleção de módulos educacionais multimídia que ajudam a entender melhor os produtos de software IBM e usá-los de forma mais efetiva para atender aos seus requisitos de negócios.
- Downloads de teste de produtos de software IBM

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 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 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.