Pergunta

Meu projeto atual usa NUnit para testes de unidade e UATS unidade escritos com selênio. Desenvolvedores testes usando corredor de teste do ReSharper no VS.Net 2003 e os nossos chutes caixa construí-los fora normalmente executado através NAnt.

Gostaríamos de executar os testes UAT em paralelo para que possamos tirar proveito de selênio Planilha / RCs de modo que eles serão capazes de correr muito mais rápido.

Alguém tem alguma opinião sobre como isso pode ser alcançado? e / ou melhores práticas para testar testes Selenium contra ambientes vários navegadores sem escrever testes duplicados automaticamente?

Obrigado.

Foi útil?

Solução

Não tem havido um monte de trabalho sobre este assunto. Eu não encontrar nada realmente relevent.

No entanto, o ponto é bem aceite. A maioria das máquinas hoje em dia têm mais núcleos e núcleos menos potentes em comparação com poderosa CPU de núcleo único.

Então eu fiz encontrar algo em um blog da Microsoft. A tecnologia é chamada de Punit e é feito especialmente para testar ambiente multi-threaded.

É o mais próximo possível ao que você pediu que eu poderia encontrar:)

Você pode visitá-lo no post adequada ali: http://blogs.microsoft.co.il/blogs/eyal/archive/2008/07/09/punit-parallel-unit-testing-in-making.aspx

Update: link não é mais válido. O projeto no CodePlex foi removida.

Update2: Este é sobre o roteiro para NUnit 2.5. Referência

Outras dicas

Eu lutei com esses dois problemas sozinho. No final, eu desenvolveu um costume Nunit corredor de teste que é capaz de executar vários testes em parrallel. Isto combinado com a extensão Taumuon.Rakija para nunit permitiu que os testes a serem dynmaically criado dependendo do navegador que você deseja que o teste para correr.

Agora estou em uma posição onde eu posso lançar meu conjunto de teste contra tantos tipos de navegadores em tantos sistemas operacionais como eu desejo em parrallel.

Infelizmente não parece ser uma boa solução para estes problemas já que você provavelmente vai ter que resolvê-los você mesmo para o seu ambiente particular.

NUnit versão 3 apoiará a execução de testes em paralelo, esta boa trabalha com uma Selenium Grid:

Como adicionar o atributo a uma classe:. [Parallelizable(ParallelScope.Self)] irá executar os testes em paralelo com outras classes de teste

• ParallelScope.None indica que o teste não pode ser executado em paralelo com outros testes.

• ParallelScope.Self indica que o teste em si pode ser executado em paralelo com outros testes.

• ParallelScope.Children indica que os descendentes do teste pode ser executado em paralelo com relação um ao outro.

• ParallelScope.Fixtures indica que luminárias podem ser executados em paralelo uns com os outros.

NUnit Framework-Parallel-Test-Execution

Igor Brejc tem um post sobre a execução de testes em paralelo usando MbUnit.

No entanto, ele diz "Uma vez que integrar selênio em testes de aceitação", então parece que ele estava apenas experimentando, eu não consigo encontrar quaisquer outras mensagens, então eu não sei se ele foi executado com êxito testes Selenium em paralelo.

http://igorbrejc.net/development/continuous -Integração / Gallio-running-testes-em-paralelo

Você pode usar a paralela de tarefas Biblioteca ea classe DynamicObject para alcançar a paralelização do mesmo teste em vários navegadores. Veja meu artigo Correndo selênio em paralelo com qualquer ferramenta de testes unitários .NET para mais detalhes.

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