Cómo manejar la autenticación de proxy en Selenium controlador web
¿Qué es un proxy?
Un proxy actúa como intermediario entre los clientes que envían solicitudes y el servidor que responde. El uso principal de un proxy es mantener la privacidad y la encapsulación entre múltiples sistemas interactivos.
Un proxy también puede agregar otra capa de seguridad en la web al actuar como un firewall entre el Cliente y los servidores web. Esto se utiliza especialmente cuando los sitios web que utilizan los clientes deben etiquetarse como permitidos o bloqueados según el contenido del sitio web.
Este proceso se conoce como "Filtrado de contenido" y se usa más comúnmente en instituciones educativas, oficinas corporativas, etc. El filtrado de contenido se puede lograr fácilmente con la ayuda de un proxy. En términos de Internet, un proxy se puede implementar como un servidor separado que se encuentra entre las máquinas cliente y los servidores web o de bases de datos reales que responden.
Diferencia entre SOCKS y proxy HTTP
CALCETINES DIVERTIDOS | Proxy HTTP |
---|---|
SOCKS significa enchufes seguros. Generalmente se utiliza como firewall entre el Cliente y el servidor. | El proxy HTTP también se puede utilizar como firewall entre el cliente y el servidor, pero solo se puede utilizar para solicitudes HTTP. |
SOCKS no interpreta los datos que se intercambian | HTTP Proxy interpreta los datos que se intercambian entre el Cliente y el servidor |
Más lento en términos de rendimiento. | Mejor rendimiento en comparación con SOCKS |
Cómo manejar el proxy en Selenium Controlador web en Chrome
Autenticación de proxy HTTP con Selenium En Chrome se puede manejar utilizando los siguientes enfoques
- Usando la herramienta AutoIT
- Usando alertas
Usando la herramienta AutoIT
Auto IT es una herramienta de terceros que se utiliza para la automatización del escritorio de Windows. Selenium Solo maneja ventanas y ventanas emergentes basadas en la web, no es posible manejar controles del sistema operativo usando Selenium.
Esto requiere el uso de herramientas externas de terceros, como Auto IT, para integrarse con Selenium. Para eso, Auto IT se usa más comúnmente para manejar cargas y descargas de archivos en sitios web.
Para utilizar AutoIT, debe descargar e instalar el software AutoIT en nuestras máquinas locales.
La descarga y la instalación de AutoIT se tratan en el artículo.
Abra Programas – Herramienta Autoit – SciTE Script Editor y agregue el script AutoIt mencionado a continuación en el editor Autoit y guárdelo como 'ProxyAuthentication.au3' en su sistema
Compile el archivo y conviértalo como "ProxyAuthentication.exe".
In Eclipse, agregue el archivo Auto IT a Selenium Script y ejecutar
A continuación se muestra el script de AutoIT para la autenticación del proxy HTTP.
Send("guru99{ENTER}") Send("guru99{ENTER}")
Debe pasar el archivo Auto IT para su ejecución en Selenium controlador web usando el siguiente código
Código fuente:
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"); } }
Explicación del código:
- En el primer paso, inicializará una instancia del controlador Chrome configurando la propiedad del sistema para que apunte al archivo chromedriver.exe.
- En el segundo paso, inicializará un objeto del controlador web y pasará la URL del sitio web mediante el método get.
- Finalmente, está pasando el nombre de usuario y la contraseña a la ventana emergente de autenticación del proxy HTTP utilizando un archivo de secuencia de comandos de AutoIT.
Salida de código:
Usando alertas
Las alertas son una característica simple e incorporada proporcionada por Selenium controlador web. Puede manejar ventanas emergentes de autenticación de proxy usando Selenium controlador web cambiando a la alerta de autenticación de proxy HTTP y pasando el nombre de usuario y la contraseña directamente a la alerta. Con la ayuda del método de envío de claves.
Ejemplo:
Escenario de prueba:
Maneje la ventana emergente de autenticación de proxy HTTP en el sitio web: https://demo.guru99.com/test/basic_auth.php usando alertas en Selenium controlador web.
Código fuente Ejemplo:
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(); } }
Salida de código
La autenticación de proxy se realizó correctamente.
Explicación del código:
- Inicialmente, está creando una instancia del controlador Chrome configurando la propiedad webdriver para que apunte a la ubicación del archivo chromedriver.exe.
- Luego, está abriendo la URL del sitio web requerido pasando la URL como parámetro al método driver.get()
- Una vez que se abre la URL, cambia a la alerta de nombre de usuario y envía el nombre de usuario: guru99. Luego hará clic en el botón Aceptar en la alerta utilizando el método alert.accept.
- Luego, cambia a la alerta de contraseña y envía la contraseña: guru99. Luego hará clic en el botón Aceptar en la alerta utilizando el método alert.accept.
Resum
- Un proxy actúa como intermediario entre los clientes que envían solicitudes y el servidor que responde. El uso básico de un proxy es mantener la privacidad y encapsulación entre múltiples sistemas interactivos.
- Autenticación de proxy HTTP con Selenium En Chrome se puede manejar utilizando los siguientes enfoques
- Pasar nombre de usuario y contraseña en la URL del sitio web
- Usando la herramienta AutoIT
- Usando alertas
- De los tres enfoques anteriores, el uso de alertas es la forma más efectiva de manejar la autenticación del proxy HTTP en Selenium controlador web