Comment gérer l'authentification proxy dans Selenium Pilote Web

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

Auto IT est un outil tiers utilisé pour l'automatisation du bureau 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'Auto IT qui doivent être intégrés à Selenium. Pour cela, Auto IT est le plus souvent utilisé pour gérer les téléchargements de fichiers et les téléchargements de fichiers sur des sites Web.

Pour utiliser AutoIT, vous devez télécharger et installer le logiciel AutoIT sur nos machines locales.

Le téléchargement d'une installation d'AutoIT est couvert 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 Auto IT à Selenium Scripter et exécuter

Vous trouverez ci-dessous le script AutoIT pour l'authentification du proxy HTTP

Send("guru99{ENTER}")
Send("guru99{ENTER}")

Vous devez transmettre le fichier Auto IT pour exécution sur Selenium pilote Web en utilisant le code ci-dessous

Code source:

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("http://demo.guru99.com/test/basic_auth.php");
        //Passing the AutoIt Script to Selenium	
        Runtime.getRuntime().exec("D:\\Data_Personal\\ProxyAuthentication.exe");
    }
}

Explication du code :

  • 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 la deuxième étape, vous initialisez ensuite un objet du pilote Web et transmettez l'URL du site Web à l'aide de 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.

Sortie de code :

Gestion des alertes de nom d'utilisateur à l'aide d'AutoIT
Gestion des alertes de nom d'utilisateur à l'aide d'AutoIT
Gestion des alertes de mot de passe à l'aide d'AutoIT

Gestion des alertes de mot de passe à l'aide d'AutoIT
Écran de réussite de l'authentification proxy

Écran de réussite de l'authentification proxy

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("http://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();
    }
}

Sortie de code

Authentification proxy effectuée avec succès.

Explication du code :

  • 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 l'URL du site Web requis en passant l'URL en tant que paramètre à la méthode driver.get()
  • Une fois l’URL ouverte, vous passez à l’alerte de nom d’utilisateur et envoyez le nom d’utilisateur – guru99. Vous cliquez ensuite sur le bouton OK de l'alerte en utilisant 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

Résumé

  • Un proxy agit comme intermédiaire entre les clients qui envoient des requêtes et le serveur qui y répond. L'utilisation de base d'un proxy est de préserver la confidentialité et encapsulation entre plusieurs systèmes interactifs.
  • Authentification du proxy HTTP avec Selenium dans Chrome peut être géré à l'aide des approches suivantes
  • Passer le nom d'utilisateur et le mot de passe dans l'URL du site Web
  • Utilisation de l'outil AutoIT
  • Utiliser les alertes
  • Parmi les trois approches ci-dessus, l'utilisation d'alertes constitue le moyen le plus efficace de gérer l'authentification du proxy HTTP dans Selenium Webdriver