Comment gérer l'authentification proxy dans Selenium Pilote Web
⚡ Résumé intelligent
Authentification par proxy dans Selenium WebDriver gère la fenêtre contextuelle d'authentification qui apparaît lorsqu'un navigateur se connecte via un serveur proxy sécurisé. Selenium Il est impossible d'interagir directement avec les boîtes de dialogue natives ; deux approches sont nécessaires : l'utilisation de l'outil AutoIt et des alertes intégrées.
Qu'est-ce qu'un proxy ?
Un proxy agit comme intermédiaire entre les clients qui envoient des requêtes et le serveur qui y répond. L'utilisation principale d'un proxy est de maintenir la confidentialité et l'encapsulation entre plusieurs systèmes interactifs.
Un proxy peut également ajouter une autre couche de sécurité sur le Web en agissant comme un pare-feu entre le client et les serveurs Web. Ceci est particulièrement utilisé lorsque les sites Web utilisés par les clients doivent être étiquetés comme autorisés ou bloqués en fonction du contenu du site Web.
Ce processus est connu sous le nom de « Filtrage de contenu » et est le plus couramment utilisé dans les établissements d'enseignement, les bureaux d'entreprise, etc. Le filtrage de contenu peut être facilement réalisé à l'aide d'un proxy. Sur Internet, un proxy peut être implémenté en tant que serveur distinct situé entre les machines clientes et les serveurs Web ou de bases de données qui répondent.
Différence entre SOCKS et proxy HTTP
| CHAUSSETTES | Http proxy |
|---|---|
| SOCKS signifie prises sécurisées. Il est généralement utilisé comme pare-feu entre le Client et le serveur | Le proxy HTTP peut également être utilisé comme pare-feu entre le client et le serveur mais ne peut être utilisé que pour les requêtes HTTP. |
| SOCKS n’interprète pas les données échangées | Le proxy HTTP interprète les données échangées entre le client et le serveur |
| Plus lent en termes de performances | Meilleures performances par rapport aux SOCKS |
Comment gérer le proxy dans Selenium Pilote Web dans Chrome
Authentification du proxy HTTP avec Selenium dans Chrome peut être géré à l'aide des approches suivantes
- Utilisation de l'outil AutoIt
- Utiliser les alertes
Utilisation de l'outil AutoIt
AutoIt est un outil tiers utilisé pour l'automatisation des postes de travail Windows. Selenium gère uniquement les fenêtres contextuelles et les fenêtres Web, la gestion des contrôles du système d'exploitation n'est pas possible à l'aide de Selenium.
Cela nécessite l'utilisation d'outils tiers externes tels qu'AutoIt pour être intégrés à SeleniumPour cela, AutoIt est le plus souvent utilisé pour gérer les chargements et les téléchargements de fichiers sur les sites web.
Pour utiliser AutoIt, vous devez télécharger et installer le logiciel AutoIt sur vos machines locales.
Le téléchargement et l'installation d'AutoIt sont abordés dans le article.
Ouvrez Programmes – Outil Autoit – SciTE Script Editor et ajoutez le script AutoIt mentionné ci-dessous dans l'éditeur Autoit et enregistrez-le sous « ProxyAuthentication.au3 » dans votre système.
Compilez le fichier et convertissez-le en « ProxyAuthentication.exe ».
In Eclipse, ajoutez le fichier AutoIt à Selenium Scripter et exécuter
Ci-dessous se trouve le script AutoIt pour l'authentification par proxy HTTP.
Send("guru99{ENTER}") Send("guru99{ENTER}")
Vous devez transmettre le fichier AutoIt pour exécution sur Selenium pilote Web en utilisant le code ci-dessous
Matériau Code:
package Guru99Demo; import java.io.IOException; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class AutoItDemo { public static void main(String[] args) throws IOException { System.setProperty("webdriver.chrome.driver", "D:\\ chromedriver.exe");; WebDriver driver = new ChromeDriver(); driver.get("https://demo.guru99.com/test/basic_auth.php"); //Passing the AutoIt Script to Selenium Runtime.getRuntime().exec("D:\\Data_Personal\\ProxyAuthentication.exe"); } }
Code Explication:
- Dans la première étape, vous initialisez une instance du pilote Chrome en définissant la propriété système pour qu'elle pointe vers le fichier chromedriver.exe
- Dans un second temps, vous initialisez un objet de pilote Web et vous lui transmettez le site Web. URL en utilisant la méthode get
- Enfin, vous transmettez le nom d'utilisateur et le mot de passe à la fenêtre contextuelle d'authentification du proxy HTTP à l'aide d'un fichier de script AutoIt.
Code Sortie :

Utiliser les alertes
Les alertes sont des fonctionnalités simples et intégrées fournies par Selenium pilote Web. Vous pouvez gérer les fenêtres contextuelles d'authentification du proxy en utilisant Selenium pilote Web en passant à l'alerte d'authentification du proxy HTTP et en transmettant le nom d'utilisateur et le mot de passe directement à l'alerte. Avec l’aide de la méthode d’envoi de clés.
Exemple:
Scénario de test:
Gérez la fenêtre contextuelle d'authentification du proxy HTTP sur le site Web : https://demo.guru99.com/test/basic_auth.php utiliser les alertes dans Selenium pilote Web.
Exemple de code source :
package Guru99Demo; import java.io.IOException; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class AlertsDemo { public static void main(String args[]) throws IOException { System.setProperty("webdriver.chrome.driver", "D:\\Data_Personal\\Software\\chromedriver_win32\\chromedriver.exe");; WebDriver driver = new ChromeDriver(); driver.get("https://demo.guru99.com/test/basic_auth.php"); // Handling Username alert driver.switchTo().alert().sendKeys("guru99"); driver.switchTo().alert().accept(); // Handling Password alert driver.switchTo().alert().sendKeys("guru99"); driver.switchTo().alert().accept(); } }
Code Sortie
Authentification proxy effectuée avec succès.
Code Explication:
- Initialement, vous instanciez une instance du pilote Chrome en définissant la propriété webdriver pour indiquer l'emplacement du fichier chromedriver.exe.
- Ensuite, vous ouvrez le URL du site Web requis en passant le URL en tant que paramètre de la méthode driver.get()
- Une fois URL L'alerte s'ouvre. Vous passez à l'alerte par nom d'utilisateur et envoyez le nom d'utilisateur « guru99 ». Vous cliquez ensuite sur le bouton OK de l'alerte à l'aide de la méthode alert.accept.
- Ensuite, vous passez à l’alerte de mot de passe et envoyez le mot de passe – guru99. Vous cliquez ensuite sur le bouton OK de l'alerte en utilisant la méthode alert.accept

