O Selenium Web driver é uma ferramenta de automação da web que permite executar os testes em diferentes navegadores. Esses navegadores podem ser Internet Explorer, Firefox ou Chrome. Para usar um navegador específico com Selenium, você precisa do driver correspondente.
Na execução do teste, o Selenium inicia o navegador correspondente chamado no script e executa as etapas do teste. Você pode ver o navegador e a execução do teste em ação.
O que é o navegador sem cabeça?
Um navegador sem cabeça é um navegador da Web sem uma interface gráfica do usuário . Este programa se comportará como um navegador, mas não mostrará nenhuma GUI.
Alguns dos exemplos de drivers sem cabeça incluem
- HtmlUnit
- Fantasma
- PhantomJS
- ZombieJS
- Watir-webdriver
Neste tutorial, vamos nos concentrar em HtmlUnit e PhatomJS
HTMLUnitDriver
HTML UnitDriver é o navegador sem cabeça de implementação mais leve e mais rápido do WebDriver. É baseado em HtmlUnit. É conhecido como driver do navegador sem cabeça . É igual ao driver do Chrome, IE ou FireFox, mas não possui interface gráfica do usuário, portanto não é possível ver a execução do teste na tela.
Características do driver da unidade HTML
- Suporte para os protocolos HTTPS e HTTP
- Suporte para respostas HTML (clicar em links, enviar formulários, percorrer o modelo DOM do documento HTML etc.)
- Suporte para cookies
- Suporte a servidor proxy
- Suporte para autenticação básica e NTLM
- Excelente suporte a JavaScript
- Suporte para métodos de envio GET e POST
- Capacidade de personalizar os cabeçalhos de solicitação enviados ao servidor
- Capacidade de determinar se as respostas com falha do servidor devem lançar exceções ou devem ser retornadas como páginas do tipo apropriado
Passos para usar o driver HTMLUnit com Selenium
Etapa 1) No Eclipse, copie o código a seguir. Adicione os arquivos da biblioteca de selênio padrão ao projeto. Nenhum arquivo jar adicional é necessário.
package htmldriver;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.htmlunit.HtmlUnitDriver;public class htmlUnitYest {public static void main (String [] args) {// Criação de uma nova instância do driver da unidade HTMLDriver WebDriver = novo HtmlUnitDriver ();// Navegue até o Googledriver.get ("http://www.google.com");// Localize a caixa de pesquisa usando seu nomeElemento WebElement = driver.findElement (By.name ("q"));// Insira uma consulta de pesquisaelement.sendKeys ("Guru99");// Envie a consulta. O Webdriver procura o formulário usando o elemento de entrada de texto automaticamente// Não há necessidade de localizar / encontrar o botão de envioelement.submit ();// Este código irá imprimir o título da páginaSistema. out .println ("O título da página é: + driver.getTitle ());driver.quit ();}}
Etapa 2) Execute o código. Você observará que nenhum navegador é iniciado e os resultados são exibidos no console.
Benefícios do driver de unidade Html:
- Uma vez que não está usando nenhuma GUI para testar, seus testes serão executados em segundo plano, sem qualquer interrupção visual
- Comparado com todas as outras instâncias, a execução é mais rápida
- Para executar seus testes por meio do driver HtmlUnit, você também pode selecionar outras versões do navegador
- É independente de plataforma e mais fácil de executar vários testes simultaneamente. Ideal para testes de carga.
Limitações:
- Não pode emular o comportamento de JavaScript de outros navegadores
PhantomJS
PhantomJS é um navegador sem cabeça com API JavaScript. É uma solução ideal para teste de sites sem cabeça, acessa e manipula páginas da web e vem com a API DOM padrão.
Para usar o PhantomJS com o Seleniun, é necessário usar o GhostDriver. GhostDriver é uma implementação do protocolo Webdriver Wire em JS simples para PhantomJS.
A versão mais recente do PhatomJS tem GhostDriver integrado e não há necessidade de instalá-lo separadamente.
Aqui está como o sistema funciona-
Passos para executar o Selenium com PhatomJS
Etapa 1) Você precisa do Eclipse com Selenium instalado
Etapa 2) Baixe o PhantomJS aqui
Etapa 3) Extraia a pasta baixada para Arquivos de Programa
Etapa 4) Baixe o driver PhantomJS aqui. Adicione o jar ao seu projeto
Etapa 5) Cole o seguinte código no eclipse
package htmldriver;import java.io.File;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.phantomjs.PhantomJSDriver;public class phantom {public static void main (String [] args) {File file = new File ("C: / Arquivos de programas / phantomjs-2.0.0-windows / bin / phantomjs.exe");System.setProperty ("phantomjs.binary.path", file.getAbsolutePath ());Driver WebDriver = novo PhantomJSDriver ();driver.get ("http://www.google.com");Elemento WebElement = driver.findElement (By.name ("q"));element.sendKeys ("Guru99");element.submit ();System.out.println ("O título da página é: + driver.getTitle ());driver.quit ();}}
Etapa 6) Execute o código. Você observará que a saída é mostrada no console e nenhum navegador é iniciado.
NOTA : Na primeira execução, com base nas suas configurações, você pode receber um aviso de segurança do Windows para permitir a execução do PhantomJS. Clique em Permitir acesso.
Muitas organizações usam Phantom.JS para vários fins, por exemplo,
- Teste sem Cabeça
- Captura de tela
- Automação de página
- Monitoramento de rede
- Para renderizar capturas de tela do painel para seus usuários
- Para executar testes de unidade na linha de comando
- Para gerar manuais de funcionários de HTML para PDF
- Combinado com QUnit para o conjunto de testes
Resumo
Para testar o aplicativo rapidamente em vários navegadores e sem qualquer interrupção visual, o teste de navegador sem cabeça é usado. Devido à sua velocidade, precisão e recursos de fácil acesso, o driver da unidade HTML e o PhantomJS estão ganhando popularidade para testes de navegadores sem cabeça. Seguindo alguns passos simples, você fica sabendo com que facilidade essas ferramentas podem ser integradas a outras ferramentas e executar o código de teste.