Como posso executar testes do Selenium em um servidor Ubuntu?

10

Atualmente, tenho uma máquina de teste executando o servidor Ubuntu 9.10 sem GUI. Quero executar minhas suítes de teste Selenium RC que abrem o Firefox e executam uma série de operações. Eu poderia inchar meu servidor de teste com o Gnome ou o KDE para executar esses testes, mas estou procurando uma solução mais leve. Alguém tem algumas sugestões sobre como executar testes de GUI em um servidor Ubuntu?

Thierry Lam
fonte
Se o aplicativo da Web não for pesado em javascript, talvez você deva considerar o uso do Webrat em vez do Selenium. Você se beneficiaria com a possibilidade de testar em máquinas sem cabeça, é mais agradável para scripts e muito mais rápido para executar testes.
WheresAlice

Respostas:

6

Tente isso para automatizar as coisas do servidor sem cabeça. (Advertência, escrevi o post abaixo)

http://www.semicomplete.com/blog/geekery/headless-wrapper-for-ephemeral-xservers.html

Resumo básico: criei um script para executar qualquer comando em um servidor X sem cabeça recém-criado. Isso também permite que você execute muitos servidores X sem cabeça por vez, se necessário.

Portanto, para iniciar o selenium-rc em um novo servidor X sem cabeça, você faria (usando a ferramenta descrita na publicação acima)

sh ephemeral-x.sh -x "Xvfb -ac -screen 0 1024x768x24" java -jar selenium-server.jar ...
Jordan Sissel
fonte
5

eu não testei sozinho, mas isso parece promissor:
http://www.alittlemadness.com/2008/03/05/running-selenium-headless/

vou tentar isso por mim mesmo.

EDIT:
finalmente tive tempo de testar por mim mesmo. Eu testei no suse, mas deve ser o mesmo para o ubuntu, exceto talvez nomes de pacotes e caminhos.

primeiro instale o pacote xvfb, no suse é chamado xorg-x11-Xvfb

inicie o xvfb em segundo plano com os parâmetros de exibição, tela e resolução:
/usr/X11R6/bin/Xvfb :15 -ac -screen 0 1024x768x8 &

altere suas configurações de exibição:
export DISPLAY=localhost:15.0

e inicie o seu selênio rc:
/opt/java/bin/java -jar selenium-server.jar > /var/log/se_rc_server.log 2>&1 &

você também pode iniciar o selenium rc com um testinguite especificado:
/opt/java/bin/java -jar selenium-server.jar -htmlSuite "*firefox3" "http://www.google.com" "/root/google.ts.html" "/root/google_report.html"

cristão
fonte