bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


django_test

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
Següent revisió Ambdós costats nova versio
django_test [2024/01/03 17:00]
enric_mieza_sanchez [Tests amb Selenium] firefox ESR i assert title
django_test [2024/01/03 17:09]
enric_mieza_sanchez [Mode Headless] MOZ_HEADLESS env var
Línia 147: Línia 147:
 **Necessitaràs instal·lar el geckodriver de Firefox** per permetre automatitzar l'accés al navegador per part del codi (control remot). Des de fa algunes versions Firefox ja inclou per defecte el //driver//. **Necessitaràs instal·lar el geckodriver de Firefox** per permetre automatitzar l'accés al navegador per part del codi (control remot). Des de fa algunes versions Firefox ja inclou per defecte el //driver//.
  
-Per altra banda hem detectat que les versions de Firefox de la botiga //snap// d'Ubuntu no funcionen bé per al testing. Per tant, si utilitzes aquesta distribució caldrà eliminar el Firefox normal i després instal·lar Firefox ESR (Extended Support Release).+Per altra banda hem detectat que **les versions de Firefox de la botiga //snap// d'Ubuntu no funcionen bé per al //testing//**. Per tant, si utilitzes aquesta distribució caldrà eliminar el Firefox normal i després **instal·lar Firefox ESR** (Extended Support Release). Debian ja porta per defecte Firefox ESR.
  
 +    $ sudo snap remove firefox
     $ sudo apt install firefox-esr     $ sudo apt install firefox-esr
-    +
 També **cal instal·lar Selenium** al //virtualenv// del nostre projecte: També **cal instal·lar Selenium** al //virtualenv// del nostre projecte:
     (env) $ pip install selenium     (env) $ pip install selenium
Línia 171: Línia 172:
         super().setUpClass()         super().setUpClass()
         opts = Options()         opts = Options()
-        opts.headless = True+        #opts.headless = True # DEPRECATED!
         cls.selenium = WebDriver(options=opts)         cls.selenium = WebDriver(options=opts)
         cls.selenium.implicitly_wait(5)         cls.selenium.implicitly_wait(5)
Línia 206: Línia 207:
 El mode //headless// és important ja que ens permetrà que el navegador funcioni sense el GUI, cosa que necessitem per als testos automatitzats (els servidors de test solen ser servidors sense interfície gràfica, pel què intentar obrir un navegador real fallaria al no trobar les X-windows). El mode //headless// és important ja que ens permetrà que el navegador funcioni sense el GUI, cosa que necessitem per als testos automatitzats (els servidors de test solen ser servidors sense interfície gràfica, pel què intentar obrir un navegador real fallaria al no trobar les X-windows).
  
-Fixa't en què es pot activar i desactivar el **mode //headless// del //driver// del navegador Firefox**. Si vols veure com s'obre i es fan els tests automatitzats, canvia la línia a: +Fixa't en què es pot activar i desactivar el **mode //headless// del //driver// del navegador Firefox**. Si vols inhibir la interfície gràfica del Firefox, ho notifiquem Selenium a través de les variables d'entorn
-    opts.headless False+    (env) $ MOZ_HEADLESS=1 ./manage.py tests
  
 De vegades ens interessarà veure el resultat dels tests amb el GUI, típicament per depurar i corregir els bugs quan els tests fallin. De vegades ens interessarà veure el resultat dels tests amb el GUI, típicament per depurar i corregir els bugs quan els tests fallin.
django_test.txt · Darrera modificació: 2024/01/09 15:37 per enric_mieza_sanchez