Durante a execução de uma sessão do Citrix,
o teste utiliza eventos de janela ou reconhecimento de imagem para garantir que as ações corretas
de entrada do usuário sejam mantidas em sucessão aos eventos do aplicativo fornecidos a partir do
servidor Citrix.
O mecanismo de sincronização permite que o teste permaneça sincronizado
sem depender somente do tempo, que pode variar com a carga no
servidor Citrix.
A sincronização é diferente da função de pontos de
verificação. Os pontos de verificação verificam valores especificados do aplicativo, tais como sincronizações de janelas, e produzem um status do teste: transmitido, falha, erro
ou não conclusivo. A sincronização é utilizada para a execução do teste e produz
tempos limite de sincronização no log de teste quando o teste não consegue reconhecer
a saída do servidor.
A sincronização ocorre em eventos de janela ou por meio
do reconhecimento de uma área da tela especificada.
- A sincronização de evento de janela é produzida automaticamente pelo servidor Citrix. Quando o teste é executado, os usuários virtuais enviam ações do usuário emulado para o servidor, como ações do teclado ou do mouse, e o servidor responde com eventos de janela, como criar, ativar ou destruir. O teste aguarda os eventos de janela esperados ocorrerem
antes de enviar as próximas ações do usuário ao servidor. O teste utiliza estilos,
e, opcionalmente, locais, tamanhos e títulos de janela para reconhecer janelas.
- A sincronização de imagem permite exigir o reconhecimento adicional de
conteúdo da área da tela. O teste pode sincronizar em um código hash de mapa de bits exclusivo que é calculado a partir da imagem ou em uma cadeia de texto recuperada da imagem por meio de reconhecimento ótico de caracteres. Em alguns aplicativos, como navegadores da web ou
processadores de texto, o conteúdo da janela real é alterado com mais freqüência do que os
objetos de janela. Nesses casos, você deve incluir manualmente sincronização de imagem
em partes críticas do teste durante a gravação, para que o teste possa ser sincronizado
com o conteúdo da janela.
Durante a execução,
o teste aguarda o evento de janela ou o reconhecimento de imagem para sincronizar as ações do usuário independentemente
da carga no servidor. Se um evento de janela esperado não ocorrer ou se uma imagem esperada
não for reconhecida, o teste produzirá um tempo limite de sincronização que é relatado
no log de teste. O teste tentará reiniciar a execução
no próximo ponto de sincronização.
O atraso do tempo limite base
é especificado nas preferências de geração de teste Citrix;
no entanto, o atraso real varia de acordo com o nível de sincronização.
Existem três níveis de sincronização
para eventos de janela que podem ser especificados para cada elemento no editor de teste:
- Condicional: Este é o comportamento padrão para as janelas e caixas de diálogo
padrão. Se a sincronização falhar, o teste tentará continuar e o tempo limite de sincronização
será registrado no relatório de desempenho do Citrix e no log de teste.
- Obrigatório: Se a sincronização falhar após um período igual a três vezes
o atraso do tempo de limite base (por padrão), o teste será encerrado com um status de erro e a conexão com o servidor Citrix será encerrada. A execução do teste continuará executando até que os resultados do teste sejam finalizados.
- Opcional: A sincronização não é obrigatória, mas é registrada no log de teste. Um tempo limite ocorre após 1/10 do atraso de tempo limite base.
Os valores de tempo limite padrão podem ser substituídos por todos os elementos de sincronização
no editor de teste. O gravador de teste configura automaticamente o nível de sincronização
recomendado para eventos de janela dependendo de sua natureza:
- Eventos de criação da janela principal são configurados como obrigatórios.
- Outros eventos de criação de janela são configurados como condicionais.
- Eventos de encerramento da janela principal são configurados como condicionais.
- Outros eventos de encerramento de janela são configurados como opcionais.
- Sincronizações de imagem são configuradas como condicionais.