Pergunta

Estou familiarizado com o nunit para testes unitários da camada de negócios, mas agora estou procurando automatizar o teste da camada GUI do Win Forms.

Eu tenho visto o que está acontecendo e o gravador watin para automatizar testes em aplicações web acessando os controles e automatizando-os.No entanto, estou lutando para encontrar um equivalente watin para formulários do Windows (escritos em c # ou vb.net), de preferência que seja de código aberto.

Existe algum ou todos os produtos são baseados na gravação de pressionamentos de mouse e teclado?

Atualizar: Eu olhei para isso postagem do blog em branco e parece o tipo de coisa que estou procurando.A postagem do blog levanta alguns problemas, mas como o branco está apenas na versão 0.6, eles podem ser resolvidos.Esteja interessado se outros usaram branco ou qualquer outro para comparação.

Foi útil?

Solução

Confira http://www.codeplex.com/white e http://nunitforms.sourceforge.net/.Usamos o projeto White com sucesso.

Mesma resposta de uma pergunta anterior

Editar

O projeto White mudou e agora está localizado em GitHub como parte do TestStack.

Outras dicas

Teste completo do AutomatedQA é um bom aplicativo de teste para automatizar testes de GUI.Ele também suporta mais do que apenas Windows Forms, então você pode reutilizá-lo para outros aplicativos.Não é código aberto e é o melhor que encontrei.Não vi um código aberto equivalente ao WatiN.Ele tem um teste gratuito, para você decidir se gosta ou não.A principal razão pela qual optei por ele é que ele é realmente econômico, em comparação com outros aplicativos de teste.

Como uma nova alternativa, posso oferecer o FlaUI (https://github.com/Roemer/FlaUI).É basicamente uma reescrita completa do branco com mais recursos e uma base de código limpa.

Até onde sei, Branco é uma camada de abstração por cima da Microsoft Automação da IU estrutura.Eu escrevi uma camada semelhante que usamos internamente em nossos projetos e funciona muito bem.Então White definitivamente valeria a pena dar uma olhada

A Microsoft lançou o código-fonte para UI Automation, portanto, se necessário, você poderá depurar toda a pilha, se necessário.

O mais legal é que, com o custo da licença, você pode escalar e executar quantas máquinas quiser para execução.

Executamos dentro do VSTS e vinculamos nossos resultados aos requisitos, mas você pode usar c# express e nUnit e obter ferramentas e linguagens de primeira classe por pouco ou nenhum custo.

Aqui estão alguns links da MSDN Magazine sobre código de teste automático:

  • Usando UIAutomation Matador de insetos Março de 2007
  • Usando PowerShell Execução de teste Dezembro de 2007
  • Tester, um utilitário para registrar cliques do mouse e pressionamentos de teclas e, em seguida, reproduzi-los e verificar o comportamento do programa.Excelente para código não gerenciado.Usa identificadores do Windows, portanto pode não funcionar bem para código gerenciado. Matador de insetos Março de 2002.

Você pode conferir o Microsoft Automação da IU estrutura.Isso foi incluído no .NET desde a versão 3.0.Na verdade, é isso que a estrutura White usa de qualquer maneira.

Você pode considerar usar IU codificada, um recurso interno do Visual Studio e parte da UI Automation:

Testes automatizados que conduzem seu aplicativo através da interface do usuário (UI) são conhecidos como testes de UI codificados (CUITs).Esses testes incluem testes funcionais dos controles da interface do usuário.Eles permitem verificar se todo o aplicativo, incluindo sua interface do usuário, está funcionando corretamente.Os testes de interface do usuário codificados são particularmente úteis quando há validação ou outra lógica na interface do usuário, por exemplo, em uma página da web.Eles também são frequentemente usados ​​para automatizar um teste manual existente.

...] Uma experiência típica de desenvolvimento pode ser aquela em que, inicialmente, você simplesmente cria seu aplicativo (F5) e clique nos controles da interface do usuário para verificar se as coisas estão funcionando corretamente.Você pode decidir criar um teste codificado para não precisar continuar testando o aplicativo manualmente.Dependendo da funcionalidade específica que está sendo testada em seu aplicativo, você pode escrever um código para um teste funcional ou para um teste de integração que possa ou não incluir testes no nível da interface do usuário.Se você simplesmente deseja acessar diretamente alguma lógica de negócios, poderá codificar um teste de unidade.No entanto, em determinadas circunstâncias, pode ser benéfico incluir o teste dos vários controles da interface do usuário em seu aplicativo.Um teste de interface do usuário codificado pode automatizar o cenário inicial (F5), verificando que a rotatividade de código não afeta a funcionalidade do seu aplicativo.

Leia mais em: https://docs.microsoft.com/en-us/visualstudio/test/use-ui-automation-to-test-your-code

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top