Práticas recomendadas para testes de IU codificados
Este tópico descreve as práticas recomendadas e quando desenvolve teste codificados da interface do usuário.
Requisitos
- Visual Studio Ultimate, Visual Studio Premium
Práticas recomendadas
Use as seguintes diretrizes para criar um teste codificado flexível de interface do usuário.
Use Construtor de Teste de IU Codificado sempre que possível.
Não modifique o arquivo de UIMap.designer.cs diretamente.Se você fizer isso, as alterações no arquivo serão substituídas.
Crie seu teste como uma sequência de métodos gravados.Para obter mais informações sobre como registrar um método, consulte Criando teste codificados da interface do usuário.
Cada método registrado deverá atuar em uma única página, formulário, ou a caixa de diálogo.Crie um novo método de teste para cada nova página, formulário, ou a caixa de diálogo.
Quando você cria um método, use um nome significativo do método em vez do nome padrão.Ajuda significativos de um nome identificam a finalidade do método.
Quando possível, limite cada método registrado a menos que 10 ações.Essa abordagem modular facilita substituir um método se interface do usuário é alterado.
Crie cada asserção usando Construtor de Teste de IU Codificado, o que adiciona automaticamente um método da asserção no arquivo de UIMap.Designer.cs .
Se as alterações de (UI) da interface do usuário, logs novamente os métodos de teste, ou os métodos da asserção, ou logs novamente as seções afetadas de um método de teste existente.
Crie um arquivo separado de UIMap para cada módulo em seu aplicativo no teste.Para obter mais informações, consulte Testando um aplicativo grande com vários mapas de interface do usuário.
No aplicativo no teste, use nomes significativos quando você cria os controles de interface do usuário.Isso fornece mais significado e usabilidade para nomes gerados automaticamente do controle.
Se você estiver criando asserções codificando com a API, crie um método para cada asserção na parte da classe de UIMap que está no arquivo de UIMap.cs .Chamar este método de seu método de teste para executar a asserção.
Se você estiver diretamente com codificação API, use as propriedades e os métodos nas classes geradas no arquivo de UIMap.Designer.cs em seu código tanto quanto você pode.Essas classes farão seu trabalho mais fácil, mais confiável, e o ajudarão a ser mais produtivo.
Os testes codificados da interface do usuário adaptam-se automaticamente a muitas alterações na interface do usuário.Se, por exemplo, um elemento de interface do usuário modificou a posição ou a cor, na maioria das vezes no teste codificado de interface do usuário ainda encontrará o elemento correto.
Durante a execução do teste, os controles da interface do usuário estão localizados pela estrutura de teste usando um conjunto de propriedades de pesquisa que são aplicadas a cada classe do controle das definições criadas por Construtor de Teste de IU Codificado no arquivo de UIMap.Designer.cs .As propriedades de pesquisa contém pares de nome/valor de nomes de propriedade e valores de propriedade que podem ser usados para identificar o controle, como FriendlyName, Name, e as propriedades de ControlType do controle.Se as propriedades de pesquisa estão inalterados, o teste codificado de interface do usuário apresentados com êxito o controle na interface do usuário.Se as propriedades de pesquisa é alterada, os testes codificados da interface do usuário têm um algoritmo inteligente de correspondência que se aplica a heurística para localizar controles e o windows na interface do usuário.Quando interface de usuário for alterado, você poderá modificar as propriedades de pesquisa dos elementos identificados anteriormente para garantir que estão localizadas.
O que fazer se sua interface de usuário for alterada
Interfaces do usuário alteração com frequência durante o desenvolvimento.Aqui estão algumas maneiras de reduzir o efeito dessas alterações:
Localize o método registrado que referencia esse controle e use Construtor de Teste de IU Codificado para registrar novamente as ações para este método.Você pode usar o mesmo nome do método que substitui as ações existentes.
Se um controle que tem uma asserção que não seja mais válido:
Excluir o método que contém a asserção.
Remover a chamada ao método do método de teste.
Adicione uma nova asserção arrastando o botão de vários cabelo no controle de interface do usuário, abra o mapa da interface do usuário, e adicionar a nova asserção.
Para obter mais informações sobre como registrar teste codificados da interface do usuário, consulte Verificando código pela Automação da Interface do Usuário.
O que fazer se um processo em segundo plano precisa ser concluída antes que o teste pode continuar
Você pode ter que esperar até que um processo termine antes de continuar com a ação seguir da interface do usuário.Para fazer isso você pode usar WaitForReadyLevel para esperar antes que o teste continue como no exemplo a seguir.
// Set the playback to wait for all threads to finish
Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.AllThreads;
// Press the submit button
this.UIMap.ClickSubmit();
// Reset the playback to wait only for the UI thread to finish
Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.UIThreadOnly;
Consulte também
Referência
Microsoft.VisualStudio.TestTools.UITesting
Conceitos
Verificando código pela Automação da Interface do Usuário
Testando um aplicativo grande com vários mapas de interface do usuário
Configurações e plataformas compatíveis para testes de IU codificados e gravações de ações