Fazendo testes de IU codificado aguardar eventos específicos durante a reprodução
Em um reprodução codificado de teste da interface do usuário, você pode instruir o teste para aguardar para certos eventos ocorra, como uma janela para aparecer, a barra de progresso a desaparecer, e assim por diante.Para fazer isso, use o método apropriado de UITestControl.WaitForControlXXX() , como descrito na tabela a seguir.Para obter um exemplo da interface do usuário codificado testar se as esperas de um controle ser habilitado usando o método de WaitForControlEnabled , consulte Instruções passo a passo: criando, editando e mantendo um teste de IU codificado.
Requisitos
- Visual Studio Ultimate, Visual Studio Premium
Dica |
---|
Você também pode adicionar atrasos antes que as ações que usam interface do usuário codificado testem o publicador.Para obter mais informações, consulte Como inserir um atraso antes de uma ação de interface do usuário usando o Editor de Testes de Interface de Usuário Codificada. |
Métodos deUITestControl.WaitForControlXXX()
Métodos deUITestControl.WaitForControlXXX() |
Descrição |
---|---|
Espera para que o controle está pronto para aceitar a entrada do mouse em e de teclado.O mecanismo chama implicitamente essa API para todas as ações esperem o controle para estar pronto antes de fazer qualquer operação.No entanto, em um cenário esotérico, você pode ter que fazer a chamada explícita. |
|
Espera o controle a ser habilitado quando o assistente está fazendo alguma validação assíncrona de entrada fazer chamadas ao servidor.Por exemplo, você pode esperar que o método botão de Avançar do assistente a ser habilitado ().Para obter um exemplo desse método, consulte Instruções passo a passo: criando, editando e mantendo um teste de IU codificado. |
|
Espera para que o controle aparece na interface do usuário.Por exemplo, você está aguardando uma caixa de diálogo de erro após o aplicativo que fez a validação dos parâmetros.O tempo necessário para a validação são variáveis.Você pode usar esse método para esperar a caixa de diálogo de erro. |
|
Espera para que o controle desapareça de interface do usuário.Por exemplo, você pode esperar a barra de progresso para desaparecer. |
|
Esperas da propriedade especificada do controle para ter o valor fornecido.Por exemplo, você espera que o texto de status para alterar a Feita. |
|
Esperas da propriedade especificada do controle para ter o oposto de um valor especificado.Por exemplo, você espera que a caixa de edição do não ser somente leitura, ou seja, editável. |
|
As esperas pelo predicado especificado retornam para ser true.Isso pode ser usado para a operação complexa de espera (como as condições OR) em um controle especificado.Por exemplo, você pode esperar até que o texto de status está Êxito ou Falha conforme mostrado no seguinte código:
|
|
Todos os métodos anteriores são métodos de instância de UITestControl.Esse é um método estático.Esse método também espera o predicado especificado para ser true mas pode ser usado para a operação complexa de espera (como as condições OR) em várias controles.Por exemplo, você pode esperar até que o texto de status está Êxito ou até que uma mensagem de erro aparece, conforme mostrado no seguinte código:
|
Todos esses métodos têm o seguinte comportamento:
Os métodos retornam true se a espera é com êxito e false se a espera falhou.
O tempo limite implícita para a operação de espera é especificado pela propriedade de WaitForReadyTimeout .O valor padrão dessa propriedade é 60000 milissegundos (um minuto).
Os métodos têm uma sobrecarga para colocar o tempo limite explícito em milissegundos.Porém, quando os resultados da operação de espera em uma busca implícita pelo controle ou, quando o aplicativo está ocupado, o tempo de espera real pode ser mais do que o tempo limite especificado.
As funções anteriores são avançados e flexíveis e devem satisfazer quase todas as condições.No entanto, no caso desses métodos não atenderem às suas necessidades e você precisa codificar Wait, ou Sleep em seu código, é recomendável usar o Playback.Wait () em vez de Thread.Sleep () API.As razões para essa são:
Você pode usar a propriedade de ThinkTimeMultiplierpara alterar a duração de suspensão.Por padrão, essa variável é 1 mas você pode aumentá-lo ou diminuir para alterar o tempo de espera por qualquer lado no código.Por exemplo, se você estiver testando especificamente pela rede lenta, ou em qualquer outro caso lentos de desempenho, você pode alterar essa variável em um local (ou mesmo no arquivo de configuração) a 1,5 para adicionar a espera adicional de 50% de todos locais.
Playback.Wait() internamente chama Thread.Sleep() (depois acima de computação) em partes menores em um loop para- ao verificar cancelamentos de usuário \ interrompe a operação.Ou seja Playback.Wait() permite o cancelamento de reprodução antes do término da suspensão enquanto espera que o não pode ou exceção do lançamento.
Dica |
---|
O editor codificado de teste da interface do usuário permite alterar facilmente os testes codificados da interface do usuário.Usando o editor codificado de teste da interface do usuário, você pode encontrar, exibir, editar e seus métodos de teste.Você também pode editar ações de interface do usuário e seus controles associados no mapa do controle de interface do usuário.Para obter mais informações, consulte Editando testes de interface de usuário codificada usando o editor de teste de interface de usuário codificada. |
Orientação
Para obter mais informações, consulte Testando a entrega contínua com o Visual Studio 2012 – capítulo 5: Automatizando teste do sistema
Consulte também
Tarefas
Instruções passo a passo: criando, editando e mantendo um teste de IU codificado
Conceitos
Verificando código pela Automação da Interface do Usuário
Anatomia de um teste de IU codificado
Configurações e plataformas compatíveis para testes de IU codificados e gravações de ações