Este tutorial se concentra em mostrar como eles podem ser criados projetos para testar páginas da web automaticamente, tem uma explicação superficial com um exemplo de teste para a página do YouTube. Você terá que ter noções básicas de Ruby para entendê-lo bem.
ObservaçãoEste teste foi lançado no Ubuntu 15.10, portanto recomendo usar Linux para sua execução, porém coloco como instalar os programas no Windows.
1. Instale os requisitos necessários
Precisamos do Ruby e suas joias (se você usa Mac, já o terá instalado).
Instalando Ruby no Windows
Para baixar o instalador, clique no seguinte botão:
BAIXAR RUBY PARA WINDOWS
Primeiro, baixamos e instalamos Ruby instalador, (na instalação, certifique-se de marcar a opção de adicionar Ruby ao PATH do Windows), então o kit de desenvolvimento, extraia seu conteúdo no disco C em uma pasta que você terá que criar eu chamo de Devkit, mas você pode chamá-lo do que quiser (veja a imagem a seguir).
Agora abra o cmd do Windows e execute as seguintes instruções:
chdir C: \ Devkitruby dk.rb initruby dk.rb install
Instalação Ruby no Linux
Nas versões mais recentes já temos Ruby instalado, mas apenas no caso, você deve correr:
sudo apt-get install rubysudo apt-get install rubygems[color = # a9a9a9] Instalação Ruby [/ color]
Instale o restante dos programas necessários (válido para todos os sistemas operacionais)
Precisar instalar pepino, que é uma ferramenta de teste que nos ajuda a executar o BDD.
joia instalar pepinoNos também precisamos instalar capivara, que é uma linguagem específica que nos ajudará a interagir com as páginas da web.
gem instalar capivaraE finalmente você tem que instalar selênio, é um driver para Capybara, usa o motor JavaScript do navegador e nos permite ver como o teste é passado visualmente.
gem install selenium-webdriverÉ meio lento.
2. Crie o projeto
Assim que tivermos tudo instalado, vamos criar a estrutura do nosso projeto.
Passo 1
Vamos criar uma pasta, vamos chamá-la Testing-Selenium. Será a pasta que conterá todos os arquivos de que precisaremos, portanto podemos considerá-la como a pasta raiz do projeto.
Passo 2
Dentro da pasta Testing-Selenium (pasta raiz) vamos criar uma pasta chamada funcionalidades. Que conterá tudo que você precisa para executar o processo.
etapa 3
Dentro da pasta de recursos, criamos mais 2 pastas (step_definitions Y Apoio, suporte) e também um arquivo chamado test.feature.
Passo 4
Dentro de step_definitions, vamos criar um arquivo Ruby chamado step_Youtube.rb. e agora dentro da pasta de suporte iremos criar outro arquivo Ruby chamado env.rb.
Etapa 5
Preenchemos o arquivo test.feature, será escrito em linguagem formal (Gherkin), define o teste que queremos passar em uma linguagem que é compreendida por todos (O teste em si é a parte do palco, o resto é uma descrição) Em. Seu conteúdo é o seguinte:
#language: é característica: Ir para o youtube Como testador, quero entrar no youtube para testar a pesquisa Para saber se tudo funciona bem Cenário: Teste o youtube Já que estou na página do youtube Quando procuro por "Metallica One" Então posso entrar e veja o vídeo "https://www.youtube.com/watch?v=iT6vqeL-ysI"Na parte do palco não podemos usar acentos, ou caracteres estranhos, e as variáveis são colocadas entre aspas duplas (serão os dados passados para nosso código Ruby).
Etapa 6
É a vez do arquivo step_Youtube.rb, É o código Ruby que passará em nossos testes, olhe para o código que tem (Dado, Quando, Então) cada função se refere a uma linha, aqueles que anteriormente tinham "variáveis" recebem parâmetros (1 para cada variável no recurso. ), para isso é necessário o uso de expressões regulares. Abaixo do código.
Uma vez que / estou na página do youtube $ / visite 'https://www.youtube.com/?hl=en&gl=EN' fim Quando (/ Eu procuro por "([^"] *) "$ /) do | search | fill_in 'search_query' ,: com => search click_button 'Search' end Então (/ posso entrar e assistir ao vídeo "([^"] *) "$ /) do | vídeo | resultados = todos ('a'). map {| a | a ['href']} if not results.include? (video) raise "Vídeo não encontrado" fim visita (vídeo) fimNeste código, na segunda função você pode ver search_query, este nome que eu não inventei é o atributo name que a caixa de pesquisa do Youtube tem.
A instrução: resultados = todos ('a'). map {| a | a ['href']}O que ele faz é obter uma lista de todos os elementos a na página, e dessa lista obtém os valores dos atributos href, armazenando-os na variável de resultado, e desta forma podemos ver se a web que queremos visitar está na página, neste exemplo, vai depender se a música aparece na primeira página, então se o teste não aparecer vai sair em vermelho e se não for tudo em verde vou mostrar uma imagem em final da saída).
Etapa 7
Vamos preencher o último arquivo env.rb, é um arquivo de configuração, ele indicará o idioma a ser usado, os drivers, etc. Neste caso, estamos usando Capivara e Selênio.
require 'capivara' require 'capybara / dsl' Capybara.default_driver =: módulo selênio Helpers def without_resynchronize page.driver.options [: resynchronize] = false yield page.driver.options [: resynchronize] = true end end World (Capybara :: DSL, ajudantes)Aqui você tem o código.
3. Execute o projeto
É hora de execute nosso projeto para testar o Youtube.
Passo 1
Abrimos um terminal ou cmd e vamos para a pasta Testing-Selenium, onde está todo o nosso projeto criado anteriormente.
Passo 2
Escrevemos pepino e damos entrada, Cucumber procurará na pasta de recursos os arquivos .feature (neste caso, há apenas 1) e as etapas (arquivos Ruby) desses recursos. Se estiver correto, veremos como o navegador se abre e começa a executar os testes. Caso você não tenha as funções Ruby definidas, aparecerá uma tela indicando que as etapas não estão definidas, como na imagem a seguir:
Se tudo der certo, você acabará tendo uma tela como a seguinte:
ObservaçãoSe aparecer um aviso e não aparecer nenhuma cor no Windows, visite este repositório.
Se você quiser um teste mais rápido, você precisará de um navegador sem interface gráfica (Phantomjs) e Poltergeist que é um driver para Capybara (igual ao Selenium), mas que se conecta com Phantomjs.
- Instale o Poltergeist:
poltergeist de instalação de joia
- Instale Phantomjs:
gem install phantomjs
Caso queira baixar todo o projeto estou anexando um zip (lembre-se de que o teste foi aprovado no Ubuntu):
Testing-Selenium.zip 1.71K 167 Downloads
Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo