Prueba de página web con python selenium: ejecución muy lenta

Escribí, en Python, usando Selenium, una prueba muy simple de una página web.

Aquí el código:

from selenium import webdriver import unittest from selenium.webdriver.common.keys import Keys class NewVisitorTest(unittest.TestCase): def setUp(self): # cose da fare prima dei test self.browser = webdriver.Firefox() # Opera? credo sia usabile :D def tearDown(self): # cose da fare dopo dei test self.browser.quit() def test_yahoo(self): # browser = webdriver.Firefox() # Get local session of firefox pagina = "http://ricordandoti.net/it/app-per-scoprire-il-cimitero-del-poblenou/" self.browser.get(pagina) # Load page self.browser.implicitly_wait(5) # aspetto si carichi tutta la pagina # forzando di aspettare 3 s assert "Ricordandoti" in self.browser.title if __name__ == '__main__': # 7 unittest.main(warnings='ignore') 

Funciona, pero se tarda casi un minuto en ejecutarse:

 > Running: /home/.../tests/functional_tests_ricord.py (Wed Jan 21 13:32:05 2015) > > . > ---------------------------------------------------------------------- Ran 1 test in 60.798s > > OK 

Uso el IDE ninja para escribir el código (en una máquina Ubuntu 14.04). Esta parece ser la razón.

Ejecutando código directamente desde shell, toma 20 s:

 > subu@VR46-U:~$ python3 "/home/.../tests/functional_tests_ricord.py" . ---------------------------------------------------------------------- Ran 1 test in 20.865s OK 

¿Qué puedo hacer para acelerar la ejecución?

Lo siguiente debería acelerar las cosas para ti:

  • actualizar selenium a la última versión (actualmente 2.44.0 )

     pip3 install selenium --upgrade 
  • actualiza firefox a la última versión (actualmente 35.0 )

Antes de las actualizaciones era más lento, ahora es:

 $ python3 test.py . ---------------------------------------------------------------------- Ran 1 test in 6.258s OK