O que é o CasperJS?

O CasperJS é uma ferramenta escrita em JavaScript que permite a geração de scripts de navegação e testes para o PhantomJS.  O PhantomJS funciona como um browser headless.

O que é um headless browser?
Um headless browser é um navegador web que não possui interface gráfica. Assim, não conseguimos ver o conteúdo da página em nossa tela. Mas, mesmo sem interface gráfica, ele é capaz de executar diversas ações na página visitada: clicar em links e botões, preencher formulários etc.

Leia mais em CasperJS: testes de aceitação automatizados com JavaScript