Executando Testes no Selenium com Chrome Headless

Introdução

Antes da nova versão do Google Chrome 59 a execução de testes via um browser headless precisava ser feito por algum browser headless como PhantomJSSlimerJSTrifleJSNightmare e HTMLUnit.

O problema é que estes browsers simulam as engines dos browsers reais, mas não a engine V8 (do Google Chrome).

PhantomJS | QtWebKit
SlimerJS      | Gecko (Firefox)
TrifleJS        | Trident (Internet Explorer)
Nightmare   | Electron

Então, como estamos falando em execução de teste é necessário simular o browser real, mesmo em headless para garantir qualquer compatibilidade.

Com fazer isso usando Java

O Google Chrome traz a possibilidade da utilização do headless na versão 59 (como você pode ver aqui).
No código abaixo, para informar a utilização do headless, note que usamos o ChromeOption para poder adicionar argumentos (addArguments).

 

A opção headless informa ao Google Chrome que ele deve executar como headless.
A opção window-size é uma forma de controlar a responsividade de página (a página pode ser apresentada como mobile caso você não informe o tamanho da janela).

Você pode ver outras informações par ao ChromeOptions no link abaixo.
https://sites.google.com/a/chromium.org/chromedriver/capabilities

Atenção: O Headless no Chrome 59 só está disponível para Mac e Linux.  Em breve teremos novidades para o Windows!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *