2012-02-09 8 views
8

Ho uno script python che utilizza il selenio RC; specificamente webdriver.È possibile eseguire script Selenium senza che sia in esecuzione anche un server X?

Mi piacerebbe avere lo script eseguito come un hook post-commit, idealmente tramite IE, Safari (se possibile), Chrome & Firefox.

Ma non sono sicuro di cosa avrei bisogno di fare, dal momento che ogni volta che lo eseguo sul mio computer locale, si apre un browser.

Ho sentito parlare di "saucelabs". È la soluzione migliore?

+0

Sono stato alle prese con questo qualche tempo fa, quindi condividerò la mia soluzione - installazione di Selenium e xvfb su Ubuntu Server: https://www.namekdev.net/2016/08/selenium-server-without-x -window-system-Xvfb / – Namek

risposta

11

Sì, è necessario disporre di X server in esecuzione perché Selenium richiede un browser in esecuzione e i browser necessitano di una sorta di server X per l'esecuzione.

Per fortuna ci sono molti tipi di server X e uno di loro è Xvfb aka X framebuffer virtuale che fa tutte le operazioni in memoria e quindi non richiede alcuna schermata.

Wikipedia ha anche qualche nice examples.

Inoltre ci sono molte domande qui su SO per le parole chiave headless, xvfb e selenium. Scegli saggiamente;)

[Modifica]: Here's a nice example.

Problemi correlati