Autenticação Selenium Proxy usando Webdriver com EXEMPLO

O que é um proxy?

Um proxy atua como um intermediário entre os clientes que enviam solicitações e o servidor que responde. O principal uso de um proxy é manter a privacidade e o encapsulamento entre vários sistemas interativos.

Um proxy também pode adicionar outra camada de segurança na web, agindo como um firewall entre o cliente e os servidores web. Isso é especialmente usado quando os sites que os clientes usam precisam ser rotulados como permitidos ou bloqueados com base no conteúdo do site.

Este processo é conhecido como 'Filtragem de Conteúdo' e é mais comumente usado em Instituições Educacionais, Escritórios Corporativos, etc. A Filtragem de Conteúdo pode ser facilmente realizada com a ajuda de um proxy.

Em termos de Internet, um proxy pode ser implementado como um servidor separado que fica entre as máquinas clientes e os servidores reais da web ou de banco de dados respondendo.

Neste tutorial, você aprenderá

Diferença entre SOCKS e proxy HTTP

MEIASProxy HTTP
SOCKS significa tomadas seguras. Geralmente é usado como um firewall entre o cliente e o servidorO proxy HTTP também pode ser usado como um firewall entre o cliente e o servidor, mas pode ser usado apenas para solicitações HTTP
SOCKS não interpreta os dados que estão sendo trocadosO proxy HTTP interpreta os dados sendo trocados entre o cliente e o servidor
Mais lento em termos de desempenhoMelhor desempenho em comparação com SOCKS

2 métodos de autenticação de proxy HTTP com Selenium no Chrome

A autenticação de proxy HTTP com Selenium no Chrome pode ser tratada usando as seguintes abordagens

  • Usando a ferramenta AutoIT
  • Usando Alertas

Usando a ferramenta AutoIT

Auto IT é uma ferramenta de terceiros usada para automação de desktop do Windows. Como o Selenium só lida com pop-ups e janelas baseadas na web, não é possível lidar com os controles do sistema operacional usando o Selenium.

Isso requer o uso de ferramentas externas de terceiros, como Auto IT, para ser integrado ao Selenium. Para isso, Auto IT é mais comumente usado para lidar com uploads e downloads de arquivos em sites.

Para usar o AutoIT, você precisa baixar e instalar o software AutoIT em nossas máquinas locais.

O download de uma instalação do AutoIT é abordado no artigo .

Abra Programas - ferramenta Autoit - Editor de scripts SciTE e adicione o script AutoIt mencionado abaixo no editor Autoit e salve-o como 'ProxyAuthentication.au3' em seu sistema

Compile o arquivo e converta-o como 'ProxyAuthentication.exe.'

No Eclipse, adicione o arquivo Auto IT ao Selenium Script e execute

Abaixo está o script AutoIT para autenticação HTTP Proxy

Send('on2vhf{ENTER}') Send('on2vhf{ENTER}') 

Você precisa passar o arquivo Auto IT para execução no webdriver Selenium usando o código abaixo

Código fonte:

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

Explicação do código:

  • Na primeira etapa, você está inicializando uma instância do driver do Chrome definindo a propriedade do sistema para apontar o arquivo chromedriver.exe
  • Na segunda etapa, você está inicializando um objeto de driver da web e passando a URL do site usando o método get
  • Finalmente, você está passando o nome de usuário e a senha para o pop-up de autenticação HTTP Proxy usando um arquivo de script AutoIT

Saída de código:

Tratamento de alertas de nome de usuário usando AutoIT

Manuseio de alerta de senha usando AutoIT

Tela de sucesso de autenticação de proxy

Usando Alertas

Os alertas são recursos simples e integrados fornecidos pelo driver da web Selenium. Você pode lidar com pop-ups de autenticação de proxy usando o driver da web Selenium alternando para o alerta de autenticação de proxy HTTP e passando o nome de usuário e a senha diretamente para o alerta. Com a ajuda do método de envio de chaves.

Exemplo :

Cenário de teste:

Manipule o pop-up de autenticação de proxy HTTP no site: https://demo.on2vhf.be/test/basic_auth.php usando Alertas no driver da web Selenium.

Exemplo de código-fonte:

 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.on2vhf.be/test/basic_auth.php'); // Handling Username alert driver.switchTo().alert().sendKeys('on2vhf'); driver.switchTo().alert().accept(); // Handling Password alert driver.switchTo().alert().sendKeys('on2vhf'); driver.switchTo().alert().accept(); } } 

Saída de código:

Autenticação proxy concluída com sucesso.

Explicação do código:

  • Inicialmente, você está instanciando uma instância do driver do Chrome definindo a propriedade webdriver para apontar a localização do arquivo chromedriver.exe
  • Então, você está abrindo a URL do site necessário, passando a URL como um parâmetro para o método driver.get ()
  • Uma vez que o URL é aberto, você está mudando para o alerta de nome de usuário e enviando o nome de usuário - on2vhf. Você está então clicando no botão OK no alerta usando o método alert.accept
  • Então, você está mudando para o alerta de senha e enviando a senha - on2vhf. Você está então clicando no botão OK no alerta usando o método alert.accept

Resumo

  • Um proxy atua como um intermediário entre os clientes que enviam solicitações e o servidor que responde. O uso básico de um proxy é manter a privacidade e o encapsulamento entre vários sistemas interativos.
  • A autenticação de proxy HTTP com Selenium no Chrome pode ser tratada usando as seguintes abordagens
  • Passar nome de usuário e senha no URL do site
  • Usando a ferramenta AutoIT
  • Usando Alertas
  • Das três abordagens acima, o uso de alertas é a maneira mais eficaz de lidar com a autenticação de proxy HTTP no webdriver Selenium