Esegui un browser Firefox in un contenitore Docker per il test di Selenium

Ho un'applicazione Java, che controlla un test GUI automatico in un browser FF tramite Selenium WebDriver Libraray. L'applicazione Java legge i casi di prova da un database e li esegue secondo la logica di codice.

Ad esempio, se l'applicazione legge in un field, verrà eseguita la ricerca utilizzando il metodo "findElement" dal framework Selenium. Non uso alcun script di test per il selenium.

Attualmente sta succedendo su una workstation locale di un dipendente.

Ora voglio spostare questo integer ambiente in un contenitore Docker.

È anche ansible istanziare un browser Firefox in un contenitore? btw: Non ho bisogno di vedere la GUI effettiva del mio browser.

E in secondo luogo:

Ci sono diversi contenitori con selenium su dockerhub pronti all'uso, ma questi non si adattano al mio ambiente, sono giusto? Per quanto mi conosco, il SeleniumGrid si aspetta test e non può essere eseguito durante il runtime.

Apro una VM di Linux (Debian: distribuzione Jessie) con Vagrant, in cui poi viene eseguito Docker.

Sono ancora un principiante con Docker. Non ho trovato alcuna domanda intorno al mio scopo. Grazie in anticipo!

È anche ansible istanziare un browser Firefox in un contenitore?

Sì. Il modo più semplice per farlo è utilizzare le immagini di selenium su Docker Hub .

Ci sono diversi contenitori con selenium su dockerhub pronti all'uso, ma questi non si adattano al mio ambiente, sono giusto?

Se si pensa che le immagini di Selenium non funzionano per te perché sono tutte basate su Griglia Selenium, è ansible utilizzare invece le immagini StandaloneFirefox e StandaloneChrome. Queste sono istanze individuali, non utilizzano Griglia Selenium.

BTW, le immagini non di Debug Selenium non dispongono di una GUI. Hai accennato che non è necessario vedere i browser in esecuzione in modo che questi debbano essere benissimo. Se hai bisogno di vedere i browser, le immagini Debug dispongono di un server VNC installato in modo da poter eseguire l'image, connettersi a un client VNC e guardare i browser eseguire i test.