CodeGym /Cours Java /Python SELF FR /Fin du script et test

Fin du script et test

Python SELF FR
Niveau 36 , Leçon 4
Disponible

1. Terminer la session

Comment bien terminer une session de navigateur

Alors, tu as un script génial qui collecte des données, clique sur des boutons et fait plein de choses magiques dans ton navigateur. Maintenant, il est important de bien compléter son exécution. Imagine que ton navigateur est un éléphant tranquille : tu ne peux pas juste claquer la porte et partir. Tu dois poliment et calmement fermer la session. Pour cela, utilise la méthode quit().

Python

from selenium import webdriver

# Initialisation du driver du navigateur
driver = webdriver.Chrome()

# ici, la magie du browsing se passe... 🧙‍♂️

# Fermeture du navigateur
driver.quit()

La méthode quit() ferme toutes les fenêtres du navigateur et arrête complètement son exécution. Si tu oublies de l'appeler, des choses bizarres vont commencer à se produire avec des fenêtres de navigateur ouvertes en arrière-plan et des fuites de mémoire inexplicables. Et on est d'accord, tout le monde veut une vie heureuse.

Résoudre les problèmes avec des processus de navigateur bloqués

Parfois, après avoir utilisé Selenium, les processus du navigateur continuent de traîner en arrière-plan comme des unités indécises dans un RTS. Cela peut arriver, par exemple, si ton script "s'écrase" au milieu. Une des façons de gérer ce problème est d'utiliser une fermeture par lot des processus, par exemple, avec psutil en Python ou d'autres commandes système.

Python

import psutil

# Fermeture de tous les processus Chrome bloqués
for proc in psutil.process_iter():
    # Vérifiez si le processus appartient au navigateur
    if 'chrome' in proc.name().lower():
        proc.kill()

Ce n'est pas la méthode la plus élégante, mais parfois tu n'as pas d'autre option lorsque les processus deviennent incontrôlables. Rappelle-toi qu'en faisant cela, tu vas tuer tous les processus du navigateur, donc utilise-le raisonnablement.

2. Tester le script

Vérifier que tous les étapes du script fonctionnent bien

Terminer avec succès l'exécution du script, c'est juste la moitié du travail. Il est important de vérifier que chaque étape fonctionne correctement. Pour ça, les outils de test logiciels comme unittest ou pytest sont parfaits. Tu peux écrire des tests pour vérifier que ton script ouvre correctement les pages, clique sur les boutons et collecte les données.

Prenons un exemple minimaliste avec unittest:

Python

import unittest
from selenium import webdriver

class TestBrowserAutomation(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()

    def test_open_page(self):
        self.driver.get("https://example.com")
        self.assertEqual("Example Domain", self.driver.title)

    def tearDown(self):
        self.driver.quit()

unittest.main()

Ce test vérifie que notre script ouvre la page https://example.com et que le titre de la page correspond aux attentes. C'est une méthode simple mais puissante pour s'assurer que les parties essentielles de ton script fonctionnent correctement.

Debug et optimisation

Parfois, même après avoir écrit des tests, ton script se comporte comme un enfant capricieux, refusant de marcher comme il faut. Et c'est là que le debug entre en scène. Utilise print() pour afficher des valeurs intermédiaires et voir où ça coince. Et bien sûr, les petits commentaires humoristiques dans le code sont les bienvenus, mais n'oublie pas l'objectif : comprendre ce qui se passe.

Par exemple, tu es confronté à un problème où some_element est manquant sur la page :

Python

try:
    some_element = driver.find_element_by_id('missing-id')
except Exception as e:
    print(f"Oops ! Un problème est survenu : {e}")

En outre, surveille toujours la performance de ton script. Parfois, pour optimiser, tu peux utiliser différentes stratégies comme réduire la fréquence des requêtes ou optimiser la logique dans la recherche des éléments.

Prévenir les échecs futurs et les bugs

Après optimisation et debug, ton script devrait fonctionner parfaitement, comme une horloge suisse, mais il y a toujours un risque que de nouveaux problèmes apparaissent. Tu peux utiliser des systèmes de log comme logging pour noter ce qui se passe dans ton script. Cela te permet de voir où et pourquoi quelque chose a mal tourné.

Python

import logging

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

logger.info("Début du script")

# log plus d'actions ici...

logger.info("Fin du script")

Souviens-toi de toujours anticiper les imprévus, surtout si tu travailles avec des données instables ou des pages web. Pense à intégrer des systèmes de retries et de timeouts pour éviter que ton script tombe au moindre pépin.

1
Опрос
Travailler avec les formulaires,  36 уровень,  4 лекция
недоступен
Travailler avec les formulaires
Travailler avec les formulaires
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION