Resolvendo Problemas de Testes Funcionais

Este tópico ajudará você a resolver alguns problemas que pode encontrar em seus testes funcionais.
Tabela 1.
Problema Descrição Solução

Exceções ObjectNotFoundException ocorrem ao inserir um ponto de verificação nos controles ErrorProvider, HelpProvider e ToolTipText em .Net.

Isto ocorre se você criar um ponto de verificação de dados nos controles ErrorProvider, HelpProvider e ToolTipText durante a gravação em .Net.

No .NET, crie pontos de verificação de propriedades em tais controles.

System.NullReferenceException ocorre ao reproduzir um script orientado a dados que contém controles de calendário em aplicativos SAP.

Você pode ter fechado o controle de calendário após a gravação de um script orientado a dados e, conseqüentemente, um evento close() foi gerado no script. O script se parecerá com:

calendar_sapCalendarControl1().setDate(dpString("SAPCalendarControl1")); dialog_calendar().close();

Como o método setDate() configura a data com foco e também fecha o controle de calendário, o script falhará durante a reprodução ao tentar fechar o controle de calendário.

Desempenhe uma das seguintes tarefas:
  • Excluir o método de fechamento do calendário gerado no script.
  • Fechar o controle de calendário antes de sair do assistente "Inserir Ações Orientadas a Dados".

A reprodução falha durante a execução da verificação de dados em controles como texto, caixa de combinação ou árvore em aplicativos SAP.

Isto ocorre se o método do ponto de verificação for gravado antes de métodos como a configuração de caixa de texto/combinação ou ExpandNode/doubleClickNode para um controle de árvore.

Desempenhe uma das seguintes tarefas:
  • Pressione a tecla Enter ou F2 após digitar/selecionar o valor na caixa de texto/combinação ou expandir um nó do controle de árvore e, em seguida, chame o assistente do ponto de verificação de dados.
  • Recorte e cole esses métodos antes de executar a verificação de dados na caixa de texto/combinação/controle de árvore no script.

A seguinte mensagem de erro é exibida durante a criação de um projeto de teste funcional em .Net:

"Falha na ativação da integração ClearCase. As entradas do registro para o provedor de controle do código-fonte instalado estão ausentes. Configure o provedor de controle do código-fonte corretamente."

Esta mensagem é exibida se as configurações de registro do ClearCase estiverem corrompidas.

Você deve corrigir as configurações de registro manualmente. Para obter informações adicionais sobre a alteração do provedor de controle do código-fonte ou edição das configurações do registro, consulte a Ajuda do MSDN.

O IBM Rational Functional Tester não reconhece controles do Siebel 7.7 após fazer downgrade do Siebel 7.8 para o Siebel 7.7.

Quando você inicia o Siebel 7.8, o Internet Explorer instala os objetos mais recentes do Siebel ActiveX. Portanto, se você tentar gravar utilizando o Functional Tester no Siebel 7.7 após isto, o Functional Tester não será capaz de reconhecer os controles do Siebel 7.7.

Remova os objetos ActiveX do Siebel da pasta C:\WINDOWS\Downloaded Program Files e tente novamente trabalhar com o aplicativo do Siebel 7.7.

Um AUT Java não abre durante a configuração do aplicativo para teste no Rational Functional Tester.

O AUT não abre durante a configuração do aplicativo para teste se você especificar uma versão do JRE inferior à versão JRE que foi utilizada para compilar o aplicativo de testes.

  • Utilize a mesma versão, ou superior, do JRE que é suportado pelo Functional Tester para testar o aplicativo.
  • Recompile o aplicativo de teste configurando os níveis de origem e destino do JRE em seu Java IDE.

    A seguir, um exemplo para compilar o aplicativo de testes configurando os sinalizadores de origem e destino utilizando a interface da linha de comandos:

    C:\AUT\Test>"C:\Program Files\Java\jdk1.5.0_06\bin\javac.exe" -source 1.4 -target 1.4 *.java

A reprodução falha durante o teste de aplicativos SAP que contêm campos de senhas.

O Rational Functional Tester grava a senha digitada da forma que aparece no campo de senha e não consegue ler o valor criptografado.

Antes de reproduzir o script, substitua a senha gravada pela senha atual no script.

A ajuda sensível ao contexto do IBM Rational Functional Tester não funciona no VS .Net IDE.

 

Instale a biblioteca do MSDN. Durante a instalação, selecione as opções para integrar a biblioteca do MSDN com o IDE do VS .Net para que a ajuda com base no contexto do Functional Tester funcione.

Quando você tenta abrir um arquivo PDF da Galeria de Tutoriais, o computador trava.

Se você estiver utilizando o Adobe Reader 6.0.0, abrir um arquivo PDF a partir da Galeria de Tutoriais pode travar seu computador.

Outras versões do Adobe Reader não causam este problema. Upgrades gratuitos para o nível mais recente do Adobe Reader estão disponíveis no Web site da Adobe.

A assistência multimídia do usuário não é exibida.

A assistência ao usuário de multimídia, como os viewlets Tours, Tutoriais e Mostre-me requerem que o Flash Player esteja instalado no computador.

Instale o Flash Player versão 6.0 ou posterior a partir do Web site da Adobe.

O suporte para reprodução no Eclipse é desativado quando visualizações e editores são arrastados ou movidos após o registro.

 

Inclua a instrução rational.test.ft.enable_eclipse_support=false no arquivo ivory.properties.

O script que é gravado em um navegador falha ao reproduzir novamente em outro navegador.

Um script gravado no Internet Explorer, por exemplo, às vezes falha ao reproduzir no Mozilla Firefox

Inspecione a estrutura DOM dos objetos nos navegadores. Por exemplo, você pode usar o DomInspector para o Mozilla Firefox. De forma semelhante, a Estrutura DOM também pode ser interpretada para outros navegadores. Assim, você pode comparar e verificar se a hierarquia de objetos é igual.

  • Se a hierarquia DOM de navegadores não for igual, a falha não será devido a um problema no Functional Tester. Os navegadores estão criando uma hierarquia DOM diferente e por isso a reprodução está falhando.

    Solução alternativa: Isso pode ser resolvido apresentando o Functional Tester da hierarquia que está faltando durante a reprodução do script

  • Se a hierarquia DOM de navegadores for igual, o Functional Tester poderá estar com problemas. Entre em contato com o Suporte a Software IBM para produtos de software Rational para obter mais detalhes.

A gravação e reprodução não funcionam em opções de menu do navegador

O Functional Tester suporta testar o conteúdo do navegador, mas não as interações com opções de menu do navegador ou o próprio navegador. Isso é feito principalmente para fornecer recursos de gravação e reprodução de navegador cruzado para o teste de aplicativos HTML.

Capture o objeto do navegador e utilize o método inputKeys para interagir com as opções de menu usando atalhos do teclado para as opções de menu específicas.

Por exemplo, a opção Fechar no menu Arquivo pode ser acessada utilizando a tecla de atalho Alt+F+C. Se você precisar acessar essa opção, poderá utilizar o método inputKeys no objeto do navegador, fornecendo a tecla de atalho (%fc) como um parâmetro de entrada, conforme mostrado a seguir:

Browser_HtmlBrowser(Document_HtmlDocument(),DEFAULT_FLAGS).InputKeys("%fc")

Erro interno SAP (ABAP) durante a gravação

Durante a gravação em aplicativos SAP, a estrutura de script do SAP emite internamente, às vezes, alguns erros ABAP e a gravação é interrompida. O problema não será corrigido, a não ser que o SAP o corrija em sua estrutura de script.

Desative a ajuda de procura modal no sistema para o usuário que executa o script. Isso pode ser feito no diálogo Preferências na GUI SAP, a partir do menu de ajuda. Se essa solução não funcionar, talvez seja necessário reiniciar o aplicativo SAP

System.NullReferenceException ocorre ao reproduzir um script orientado a dados, que contém controles de calendário em aplicativos SAP.

É possível que você tenha fechado o controle de calendário depois de gravar um script baseado em dados e, por isso, um evento close() foi gerado no script.

O script se parecerá com: dialog_calendar().close();

Uma vez que o método setDate() define a data destacada e também fecha o controle de calendário, o script falhará durante a reprodução ao tentar fechar o controle do calendário.

Excluir o método de fechamento do calendário gerado no script.

No Linux, chamar os comandos de API RationalTestScript de vários encadeamentos causa erros assíncronos.

Quando dois encadeamentos em um processo enviam pedidos X simultaneamente, as bibliotecas X não podem manipular os pedidos porque não são seguras em encadeamentos. Isso faz com que erros assíncronos com mensagens como Resposta assíncrona inesperada ou Evento perdido ocorram. Isso também pode ocorrer quando vários encadeamentos são utilizados em scripts RFT..

No arquivo ivory.properties, configure a opção rational.test.ft.script.playback.mouse.allow_multiple_threads como "true."

Problemas de codificação durante a importação de arquivos no Linux.

No Linux, em razão de formatos de codificação incompatíveis, o Functional Tester pode não reconhecer ou ler os arquivos que estão sendo importados. No Functional Tester, o formato de codificação padrão é configurado como UTF-8. Mas o UTF-8 não pode manipular alguns formatos de codificação como Cp1252.

No Linux, configure o formato de codificação dos arquivos como ISO-8859-1:
  1. Selecione o projeto importado ou o projeto para o qual você está importando os arquivos na área de janela Projetos de Testes Funcionais.
  2. Clique em Projeto > Propriedades.
  3. Na janela Propriedades, selecione Info na lista.
  4. No campo Codificação do Arquivo de Texto, clique em Outro.
  5. Selecione ISO-8859-1 na lista drop-down.
  6. Clique em OK.

Impossível reproduzir scripts .Net armazenados na rede.

O projeto na rede talvez não tenha a permissão Confiança Total no computador local devido à sua política de segurança. Uma mensagem RuntimeSecurityPolicyException é exibida no log de reprodução ou no log de depuração do RFT.

Desempenhe o seguinte:
  • Configure o nível de segurança da para a zona Intranet Local para Confiança Total. Para fazer isso, siga estas etapas:
    1. Vá para Painel de Controle > Ferramentas Administrativas e abra Configuração do Microsoft .NET Framework.
    2. Selecione Configurar Política de Segurança de Acesso a Código e clique em Ajustar Segurança de Zona.
    3. Selecione Intranet Local no Assistente de Ajuste de Segurança e configure o nível de confiança para Confiança Total.
Se você continuar a ver a mensagem, execute as seguintes etapas:
  • Especifique o nome do computador em vez do endereço IP como o caminho do projeto.
  • Configure o seguinte no Internet Explorer:
    1. Clique em Ferramentas > Opções da Internet na janela do Internet Explorer.
    2. Na guia Segurança, selecione Zona Intranet Local.
    3. Clique em Sites.
    4. Na caixa de diálogo Intranet Local, clique em Avançado.
    5. Desmarque Requer verificação do servidor (https:) para todos os sites nesta zona.
    6. Especifique o caminho do projeto e clique em Incluir.
    7. Clique em OK.

Executar scripts utilizando o Test Manager Agent no Linux lança um erro.

Se você iniciar o daemon do Test Manager Agent 7.0 em uma máquina Linux e executar os scripts utilizando o Test Manager em uma máquina Windows, poderá ver alguns erros.

Na máquina Linux, desempenhe o seguinte:
  1. Configure a variável de ambiente LD_LIBRARY_PATH to libjava.so do JRE usado atualmente.
  2. Configure o CLASSPATH como /bin/rational_ft.jar
  3. Execute o comando: source rtsetup.
  4. No diretório de instalação do Test Manager, execute o script RTsagt.
Nota: Não é possível utilizar os agentes do Test Manager nas plataformas SUSE Linux Enterprise Server 10.0 e SUSE Linux Enterprise Desktop 10.0.

Ocorre erro de compilação ao compartilhar um projeto de teste funcional utilizando o ClearCase.

Por padrão, o ClearCase é configurado para fazer distinção entre maiúsculas e minúsculas. Se um nome de arquivo contiver letras maiúsculas, o ClearCase as converterá em minúsculas. Ocorre problema semelhante quando você grava um novo script em um projeto existente localizado no ClearCase.

Altere as configurações do ClearCase para preservar maiúsculas e minúsculas, seguindo estas etapas:
  1. Clique em Iniciar > Painel de Controle > ClearCase para abrir a janela Propriedades do ClearCase.
  2. Na página da guia MVFS, selecione a caixa de opção Preservação de Maiúsculas e Minúsculas.
  3. Pare e reinicie o ClearCase.
  4. Compartilhe o projeto de teste funcional novamente.

A integração do ClearCase no Linux não funcionará se ele não estiver instalado no diretório /opt/rational.

 

Para utilizar o ClearCase com o Linux, é necessário instalar o ClearCase no diretório /opt/rational ou /usr/atria ou configurar CLEARCASEHOME ou ATRIAHOME para o diretório de instalação do ClearCase.

Não é possível resolver o pacote de recursos

Se o Flex Builder 2 for usado para criar um aplicativo Flex com o adaptador Functional Tester, você poderá obter um erro no pacote de recursos.

Copie automation_agent_rb.swc do diretório ../Flex automation/frameworks/locale/en_US para ../Flex SDK 2/frameworks/locale/en_US.
Nota: Isso não será requerido se o Flex Builder 3 for usado.
Não é possível desempenhar nenhuma operação relacionada ao ClearCase para o projeto de teste funcional Isso pode ocorrer se a hierarquia de recursos do projeto de teste funcional ou o local forem modificados. Quando um projeto de teste funcional é criado, uma hierarquia padrão é criada para manter os recursos do projeto. Essa hierarquia e o armazenamento são usados para localizar recursos de testes funcionais para verificação.

Não modifique a hierarquia de recursos do projeto de teste funcional.

A exceção ObjectNotFound ocorre ao reproduzir o script quando AUT Java fica oculto atrás da janela de outro aplicativo   Desempenhe o seguinte:
  1. Clique em Configurar > Ativar Ambientes para Teste > guia Ambientes Java .
  2. Digite -Dawt.toolkit=sun.awt.motif.MToolkit no campo Executar Opções e clique em Concluir.
Não é possível gravar conjuntos de caracteres de bytes duplos (DBCS) Ao digitar caracteres de bytes duplos, a mesma seqüência de teclas tem vários caracteres DBCS. O IME (Input Method Editor) fornece a opção de selecionar o caractere que você deseja quando pressiona a barra de espaço depois de uma seqüência de teclas. Pressione Enter para gravar a cadeia de entrada.
O Functional Tester não grava as ações com os aplicativos Flex. Isso ocorre se o ambiente Flex e o aplicativos não forem configurados corretamente. Verifique se:
  • A configuração Inicializar e Executar Scripts de Controles ActiveX Não Marcados como Seguros do Internet Explorer está ativada.
  • O aplicativo foi carregado através de uma página HTML, com uma tag <object> que tem um conjunto de atributos de id, e o atributo de id não contém nenhum ponto ou hífen.
  • O aplicativo foi carregado de um servidor da Web ou localmente a partir de um arquivo SWF confiável.
A exceção ObjectNotFound ocorre durante a reprodução do script e a mensagem de exceção indica que o estado do objeto está incorreto.

Por exemplo: Procurando [button] com estado [ENABLED|VISIBLE|READY], possível falha em candidate[{.mappableClassIndex=0, text=*!ENT!*, .classIndex=0}] com estado incorreto [DISABLED]

Durante a reprodução, o Functional Tester espera um do seguintes estados para um objeto de teste:
  • ENABLED
  • VISIBLE
  • READY (para navegador)
A exceção ObjectNotFound ocorre quando o estado do objeto não corresponde ao estado esperado.
Para substituir a exceção, defina a âncora do objeto como null ou ANY.

Por exemplo: Substitua button().click(); por button(null, DISABLED).click();

O Functional Tester reconhece os objetos GEF como FigureCanvas Os objetos GEF implementados usando editores de GEF padrão e não-padrão são reconhecidos como FigureCanvas.
  • Verifique se o plug-in com.rational.test.ft.gef_xx.jar do ativador de GEF está presente no diretório de plug-ins do AUT.
  • Se os objetos GEF não estiverem identificados mesmo depois da ativação, inicie o AUT com a opção -clean.
  • Para editores não-padrão, inclua o método getAdapter no editor de GEF não-padrão (AUT). Esse método é usado pelo Functional Tester para possibilitar que uma instância do GraphicalViewer reconheça os objetos GEF no editor.
    public Object getAdapter(Class type)
    {
    if (type == org.eclipse.gef.GraphicalViewer.class)
     {
    <<return the current instance of org.eclipse.gef.GraphicalViewer>>
     }
    }
Problemas ao gravar e reproduzir no Internet Explorer 7.0 com o Functional Tester, versão 8.0. No entanto, a gravação e reprodução de scripts funciona no Functional Tester 7.x. Esse problema pode ocorrer devido a alterações no Functional Tester que visam melhorar o desempenho da reprodução no Internet Explorer 7.0.
Configure o sinalizador das alterações de desempenho como false e verifique se o problema foi resolvido. Par alterar o sinalizador de desempenho:
  1. Abra o arquivo ivory.properties localizado no <diretório de instalação do Functional Tester>\SDP\FunctionalTester\bin
  2. Configure rational.test.ft.html.enableie7performancechanges=false
    Nota: Alterar esse sinalizador para false afetará o desempenho durante o teste de aplicativos HTML no Internet Explorer 7.0.
  3. Reinicie o Internet Explorer 7.0 para efetivar as alterações.
Conceitos relacionados
Suporte ao GEF
Tarefas relacionadas
Configurando Propriedades de Objetos na Biblioteca de Objetos

Feedback