Ola pessoal!Tambem comecei a blogar, mais especificamente sobre Agile Testing, no blog da Adaptworks.http://www.adaptworks.com.br/blog/2013/09/16/o-que-e-agile-testing/A Adaptworks e uma das principais empresas de treinamento no Brasil e referencia quando falamos de agilidade, tendo um grande portifolio de cursos voltados para a linha agil e instrutores bem conhecidos neste meio.http://www.adaptworks.com.br/about.phpAproveitando, a Adaptworks tambem tem um treinamento sobre Agile Testing, que voce pode acessar pela aba "Treinamento Agile Testing" aqui no blog ou pelo link http://www.adaptworks.com.br/treinamento/Agile-TestingAbracos! O que e Headless BrowserDo inicio, qualquer browser web tem que ser capaz de fazer tres coisas:Dado um endereco, acessar uma pagina htmlRenderizar o conteudo em DOM, executar scripts dentro da tag script, e torna-lo disponivel na paginaRenderizar o DOM em um conteudo visualUm browser que somente faz o primeiro item e chamado de "text-based" Um browser que cobre os tres itens sao os browsers que conhecemos atualment Um headless browser cobre os dois primeiros itensLogo, headless browser um browser web sem uma interface grafica, ou seja, nao conseguimos ver o conteudo da pagina na nossa tela, mas este browser consegue executar qualquer acao sobre a URL desejada.Para que ele serve?Basicamente para duas coisas: como crawler e como um browser para testes mais rapidos.Browser para testes mais rapidos?A crescente utilizacao de headless browsers e a capacidade de executarmos testes de uma maneira muito mais rapida do que um browser com interface grafica.Ele se torna mais rapido por nao necessitar carregar alguns conteudos visuais, como aplicar estilos visuais em elementos e carregamento de imagens.Eles podem ser utilizados para executar a sua suite de automacao por completo, mas o maior ganho em ter scripts de teste executando em um headless browser e velocidade com que temos um feedback.Pense em um sistema de Integracao Continua, a cada comportamento (commit, tempo, versao, etc...) um sistema de CI faz todo um processo (compilacao, testes unitarios e/ou integracao, deploy e testes de aceitacao). Neste processo um dos ultimos (se nao o ultimo) sao os testes de aceitacao (aquele que abre um browser web e executa todas as acoes), mas executar estes testes diariamente em um ambiente de CI toma muito tempo para nos dar um feedback que necessitamos.O que algumas pessoas costumam fazer e separar uma pequena parte dos scripts mais importantes (smoke ou sanity) com ferramentas conhecidas (Selenium, Watir, Robot Framework), mas estes ainda tomam um tempo precioso na execucao por abrirem um browser real e executarem uma serie de acoes.Outras pessoas, e isso vem se tornando popular, criam ou atualizam scripts para executarem sobre headless browser. Isso nos da um enorme ganho de execucao nestes testes mais importantes e um feedback mais rapido se algum comportamento que sera visualizado pelo usuario nao estiver ok.Quais headless browsers podemos utilizar?Ha uma seria de headless browser disponiveis. A grande maioria delas (e as melhores) sao inclusive open source. Uma grande parte dela e construida sobre o WebKit e e escrita (tanto o codigo do browser quanto o script para executar o teste) em JavaScript.Abaixo vou listar apenas alguns, e mais populares:PhantomJSCasperJSSlimerJS (Gecko) HtmlUnitZombieJSUm ponto interessante e que o Selenium/WebDriver pode executar testes em dois dos mais populares