
PyTest+Selenium pour les tests automatisés ? Ne laissez pas le blocage d'IP devenir un obstacle
Récemment, de nombreux testeurs se sont plaints qu'ils rencontraient toujours un blocage d'IP lorsqu'ils utilisaient PyTest+Selenium pour faire des tests d'automatisation. En particulier lorsqu'il s'agit de tester la stratégie de prix d'un site de commerce électronique ou d'un système de tickets, le script sera bloqué juste une demi-heure après avoir été exécuté. À ce moment-là, nous devons sacrifier notre tueur...Service Proxy IPIl est recommandé d'utiliser les services ipipgo home, leur pool d'IP dynamiques est suffisamment grand, pro-test peut effectuer des tests à haute concurrence.
Pourquoi vos scripts de test sont-ils toujours reconnus ?
Beaucoup de débutants pensent que tant que vous utilisez Selenium pour simuler le fonctionnement du navigateur, tout ira bien, en fait, maintenant le mécanisme anti-escalade du site du voleur bien. Ils vous attraperont grâce à ces fonctionnalités :
- Visites fréquentes à partir de la même adresse IP (par exemple, 50 demandes en 1 minute)
- Anomalies dans l'empreinte digitale du navigateur (traces de souris manquantes, etc.)
- Traces d'outils d'automatisation cachées dans l'en-tête de la requête
A l'heure actuelle, avec le proxy IP d'ipipgo, c'est comme si on donnait au script une cape d'invisibilité, à chaque demande d'une nouvelle IP, le site ne peut tout simplement pas faire la différence entre une personne réelle ou un robot.
Travaux pratiques avec Selenium Vests
Ajoutez cette configuration au fichier conftest.py de pytest, et n'oubliez pas de changer le mot de passe du compte pour celui que vous avez obtenu du backend ipipgo :
def chrome_options() : options = webdriver.
options = webdriver.ChromeOptions()
proxy = "http://用户名:密码@gateway.ipipgo.com:9020"
options.add_argument(f'--proxy-server={proxy}')
return options
Voici un piège à éviter : l'adresse proxy d'ipipgo doit être sélectionnéeType de séance de longue duréeSinon, une déconnexion soudaine pendant le test entraînerait le renversement de la voiture. Le responsable de l'assistance technique a déclaré que ce type d'agent pouvait se déconnecter pendant 30 minutes, ce qui est suffisant pour exécuter la plupart des tests.
Mémo sur les pièges à éviter sur le terrain
| prendre | Type d'agent recommandé | Conseils de configuration |
|---|---|---|
| Test de surveillance des prix | IP dynamique au niveau de la ville | Changement automatique d'IP toutes les 5 minutes |
| Test de la fonction de connexion | IP statique dédiée | Lier les empreintes digitales des installations |
| test de stress | pool IP interrogé | Réglage de l'intervalle de requête de 200 ms |
Une collection de questions-réponses que vous ne manquerez pas de rencontrer
Q : Le script s'exécute plus lentement après l'utilisation d'une adresse IP proxy ?
R : 80% sont des services proxy de faible qualité, la ligne BGP d'ipipgo a mesuré une latence d'environ 80 ms. Si vous pensez toujours que c'est lent, vous pouvez leur demander d'ouvrir un canal d'accélération exclusif.
Q : Comment vérifier si l'IP proxy est efficace ?
A : Ajoutez un point de contrôle dans le scénario de test, utilisez requests.get('http://ip.ipipgo.com') pour voir si l'IP renvoyée est une IP proxy ou non.
Q : Que dois-je faire si mes données de test sont perturbées par la recherche de sites web ?
R : En liaison avec l'initiative de l'ipipgoDéguisement de l'empreinte digitale du navigateurqui transforme des détails tels que les empreintes digitales du canevas et les paramètres WebGL en mode utilisateur normal
Enfin, pour être honnête, ne soyez pas avide de services proxy bon marché. J'ai déjà vu des gens utiliser des proxys gratuits, mais les données de test étaient mélangées avec de fausses données provenant de concurrents, et le projet entier était presque ruiné. ipipgo a fait un travail plus fiable à cet égard, ils ont unTest de pureté IPqui filtre automatiquement les segments IP contaminés.

