O Xvfb, X virtual framebuffer, é um servidor X capaz de rodar em máquinas sem hardware para display.

Ele guarda tudo na memória virtual.

Estamos usando o Xvfb em alguns servidores de Integração Contínua (usamos o Hudson) na Intelie juntamente com o Selenium.

Na inicialização da máquina, criamos um X virtual com o Xvfb e, antes de executar os testes de interface, dizemos qual Display usar.

Como Instalar o Xvfb no Ubuntu

Digite: aptitude install xvfb. Sim, só isso. :)

Como Criar um X Virtual com o Xvfb

Digite: Xvfb :1 -ac.

Dessa forma, ele irá escutar conexões no Display ":1".

O parâmetro -ac serve para remover restrições de acesso. Acho que na época, tive problemas de permissão e o coloquei. De qualquer forma, é possível configurar quem tem acesso a um determinado display.

Dica: coloque para criar um X na inicialização da máquina.

Como Configurar Qual Display Usar Antes dos Testes

Exporte a variável display com: export DISPLAY=:1.

Mande executar seus testes e seja feliz. Ou não. /o/

Como Tirar Screenshots no X Virtual

Instale o Imagemagick (apt-get install imagemagick).

Digite: import -window root maoe.png.

Com o -window root, você irá tirar uma screenshot de toda a tela.

Ela será salva no maoe.png.

Pra abrir, aí você se vira. ;)

Pô, mostraí uma fotinha

Beleza:

Screenshot tirada com o Xvfb

Foto do Jordan Sissel

Para maiores informações...

Leia o manual. :)