Como lidar com a autenticação de proxy em Selenium Driver da Web
O que é um proxy?
Um proxy atua como intermediário entre os clientes que enviam solicitações e a resposta do servidor. 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 que respondem.
Diferença entre SOCKS e proxy HTTP
MEIAS | Proxy HTTP |
---|---|
SOCKS significa soquetes seguros. Geralmente é usado como um firewall entre o cliente e o servidor | O proxy HTTP também pode ser usado como firewall entre o cliente e o servidor, mas pode ser usado apenas para solicitações HTTP |
SOCKS não interpreta os dados trocados | O proxy HTTP interpreta os dados trocados entre o cliente e o servidor |
Mais lento em termos de desempenho | Melhor desempenho em comparação com SOCKS |
Como lidar com proxy em Selenium Webdriver no Chrome
Autenticação de proxy HTTP com Selenium no Chrome pode ser tratado usando as seguintes abordagens
- Usando a ferramenta AutoIT
- Usando Alertas
Usando a ferramenta AutoIT
Auto IT é uma ferramenta de terceiros que é usada para automação de desktop do Windows. Desde Selenium manipula apenas pop-ups e janelas baseados na web, não é possível manipular os controles do sistema operacional usando Selenium.
Isso requer o uso de ferramentas externas de terceiros, como Auto IT, para integração com Selenium. Para isso, o 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 neste artigo.
Abra Programas - ferramenta Autoit - SciTE Script Editor 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'.
In Eclipse, adicione o arquivo Auto IT a Selenium Script e execução
Abaixo está o script AutoIT para autenticação de proxy HTTP
Send("guru99{ENTER}") Send("guru99{ENTER}")
Você precisa passar o arquivo Auto IT para execução em Selenium webdriver 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.guru99.com/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ê inicializa um objeto do driver da web e passa 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 do proxy HTTP usando um arquivo de script AutoIT
Saída de código:
Usando Alertas
Alertas são recursos simples e integrados fornecidos por Selenium motorista web. Você pode lidar com pop-ups de autenticação de proxy usando Selenium web, 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:
Lide com o pop-up de autenticação do proxy HTTP no site: https://demo.guru99.com/test/basic_auth.php usando alertas em Selenium motorista web.
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.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(); } }
Saída de código
Autenticação de proxy realizada com sucesso.
Explicação do código:
- Inicialmente, você está instanciando uma instância do driver Chrome definindo a propriedade webdriver para apontar a localização do arquivo chromedriver.exe
- Então, você está abrindo o URL do site necessário, passando o URL como parâmetro para o método driver.get()
- Assim que o URL for aberto, você mudará para o alerta de nome de usuário e enviará o nome de usuário – guru99. Você está então clicando no botão OK no alerta usando o método alert.accept
- Então, você muda para o alerta de senha e envia a senha – guru99. Você está então clicando no botão OK no alerta usando o método alert.accept
Resumo
- Um proxy atua como intermediário entre os clientes que enviam solicitações e a resposta do servidor. O uso básico de um proxy é manter a privacidade e encapsulamento entre vários sistemas interativos.
- Autenticação de proxy HTTP com Selenium no Chrome pode ser tratado usando as seguintes abordagens
- Passando nome de usuário e senha na 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 do proxy HTTP em Selenium driver da web