Arquivo da tag: Selenium

Exportar scripts de testes do Selenium-IDE

Dando continuidade ao nosso papo sobre Selenium, nesse post mostro à vocês como o Selenium-IDE facilita nossa vida.

Basicamente podemos testar todo nosso sistema, incluir todos os scripts junto ao NUnit, JUnit, whatever… em java, C#, phyton, whatever sem tocar em uma linha de código.

A primeira coisa que precisamos é baixar o Selenium-IDE.
Ele é um plugin do firefox, então sim, você precisará ter o firefox e daí baixar o Selenium-IDE

Agora é só puxar o arquivo .xpi no firefox e ele faz o trabalho sozinho.
Ele vai pedir pra reiniciar o firefox. Depois de reiniciado, você vai encontrar no menu ferramentas, o Selenium-IDE


Clicando nele, temos a interface do Selenium IDE.

A utilização é muito intuitiva.
1. Em URL Base, coloque a url inicial que tomará por base na criação do seu script de teste.
2. No canto superior direito, tera uma bolinha vermelha (record) ou em ações > gravar.
Ao deixarmos esta opção gravada, ele passara a gravar tudo que fizermos no firefox, a partir da URL Base escolhida.

3. Acesse o site escolhido na URL Base, e comece a navegação. Todos seus movimentos (clique, escrita, etc) serão gravados no script.

Neste exemplo (onde descaradamente faço uma propaganda do meu vídeo no youtube), eu entrei no youtube, digitei “fernando ott”, e cliquei no primeiro vídeo que apareceu.
Todos estes movimentos foram gravados pelo Selenium-IDE.

Para parar a criação do script, basta deselecionar a opção de gravar.
Teremos um script semelhante a este abaixo.

Ao clicarmos na aba “Código-Fonte”, vemos que o Selenium-IDE, cria o script no formato HTML.

Exportando para Teste Unitário em C#

A maravilha do Selenium-IDE esta em seu suporte para exportar o script. Ele te da várias opções e te devolve o código bonitinho, pronto pra rodar em qualquer ambiente suportado, que são muitos.

Basta irmos em Arquivo > Exportar Teste Como… > C# (Remote Control)

Um parênteses.

(Caso prefira a criação dos testes utilizando WebDriver basta escolher a opção C# (WebDriver), entretanto só teremos o código gerado para execução no firefox.

Alerto também de um bug que encontrei no script exportado para WebDriver. Para corrigi-lo, use a variavel gerada baseUrl, no comando driver.Navigate.Open(baseUrl) que tudo funcionará =] )

Voltando, após salvo o arquivo exportado, teremos ele, funcionando perfeitamente no seu Teste Unitário NUnit/C#. Para isso garanta que tenha exportado as dll necessárias como visto no post anterior – Trabalhando com Selenium, NUnit em C#

E é isso aí pessoal.

Algumas leituras que recomendo sobre o assunto:

http://va.mu/Fsx8 (MiniCurso de Testes Funcionais utilizando Selenium)

http://www.youtube.com/watch?v=Vlz-WmcrBL8  (video SeleniumRC vs WebDriver)

Até a próxima!
Abraços

Trabalhando com Selenium, NUnit em C#

Afim de ajudar-me futuramente (já que meu hobby é esquecer as coisas) e a quem possa interessar, hoje falo um pouco sobre como trabalharmos com Selenium utilizando o NUnit/C#.

Não existe muitos segredos mas vamos ao step-by-step
0. Você precisa ter instalado o Java e o Selenium Remote Control. Passo a passo aqui

1. Download do Selenium Client Driver p/ C#

2. Download do NUnit

3. Criar um projeto de testes no visual studio


4. Adicionar referência do NUnit e Selenium no projeto
Na adição de referência, vá na aba browser e aonde esta instalado o NUnit selecione o nunit.framework.dll 
Para o Selenium, extraia as dlls do download realizado no passo 1 e basta adicionar como referência o  ThoughtWorks.Selenium.Core.dll

5. Agora vamos ao código.

Abaixo um exemplo de teste utilizando o NUnit e Selenium-RC

Como podem ver no exemplo acima, é muito simples direcionar para qual navegador executar os testes. O Selenium já possui uma API madura e completa, da suporte a praticamente todos os browsers. Basta alterar na instanciação do DefaultSelenium qual navegador chamar dentro da lista abaixo suportada. Caso tenha dificuldades, tente o caminho da instalação do navegador invés destes alias.

              *firefox
              *mock
              *firefoxproxy
              *pifirefox
              *chrome
              *iexploreproxy
              *iexplore
              *firefox3
              *safariproxy
              *googlechrome
              *konqueror
              *firefox2
              *safari
              *piiexplore
              *firefoxchrome
              *opera
              *iehta
              *custom

E é isso aí, agora basta compilar, e rodar o teste unitário.
Mas se você ainda não estiver contente com a facilidade para criarmos scripts para testes funcionais automatizados, o Selenium foi mais além.

No próximo post, vamos ver como o Selenium-IDE gera todo código bonitinho pra gente, sem ter que tocar em uma linha de código sequer.

Até lá!