Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O WebDriver permite automatizar o Microsoft Edge simulando a interação do usuário. Os testes que usam o WebDriver têm algumas vantagens sobre os testes de unidade do JavaScript executados no navegador:
O WebDriver acessa funcionalidades e informações que não estão disponíveis para o JavaScript em execução em navegadores.
O WebDriver simula eventos de usuário ou eventos no nível do sistema operacional com mais precisão do que os testes de unidade do JavaScript.
O WebDriver gerencia várias janelas, guias e páginas da Web em uma única sessão de teste.
O WebDriver executa várias sessões do Microsoft Edge em um computador específico.
Este artigo fornece exemplos de código bruto e não testes completos. Este artigo não fornece um tutorial completo para começar a usar o Selenium WebDriver, mas aborda apenas as partes específicas do processo do Microsoft Edge. Isso inclui obter o Microsoft Edge WebDriver e definir opções específicas do Microsoft Edge no código.
Relação entre o WebDriver e outros softwares
Para automatizar o Microsoft Edge com o WebDriver para simular a interação do usuário, você precisa de três componentes:
- Microsoft Edge.
- Microsoft Edge WebDriver.
- Uma estrutura de testes do WebDriver.
A relação funcional entre esses componentes é a seguinte:
| Tecnologia | Função |
|---|---|
| WebDriver | Um padrão W3C para um protocolo de conexão neutro em termos de plataforma e idioma. Esse protocolo permite que programas fora do processo instruam remotamente o comportamento dos navegadores da web. |
| Microsoft Edge WebDriver | A implementação da Microsoft do protocolo WebDriver especificamente para o Microsoft Edge. Os autores de teste escrevem testes que usam comandos do WebDriver que o Microsoft Edge WebDriver recebe. O Microsoft Edge WebDriver é então responsável por comunicar esse comando ao navegador. |
| Uma estrutura de teste do WebDriver | Os autores de teste usam uma estrutura de teste para escrever testes de ponta a ponta e automatizar navegadores. Fornece uma interface específica do idioma que traduz seu código em comandos enviados para o Microsoft Edge WebDriver. Existem estruturas de teste do WebDriver para todas as principais plataformas e linguagens. Uma dessas estruturas é o Selenium WebDriver. |
| Driver do Internet Explorer | Uma implementação de código aberto do protocolo WebDriver especificamente para o Internet Explorer. Para executar testes herdados de ponta a ponta para o modo Internet Explorer, recomendamos usar o driver do Internet Explorer. |
| Microsoft WebDriver (herdado) | O driver anterior, específico do navegador para Microsoft Edge (EdgeHTML), que também é conhecido como Versão Prévia do Microsoft Edge. |
As seções a seguir descrevem como começar a usar o WebDriver para Microsoft Edge.
Baixar Microsoft Edge WebDriver
Para começar a escrever testes automatizados, verifique se a versão do Microsoft Edge WebDriver que você instalou corresponde à sua versão do Microsoft Edge. As três primeiras partes do número de versão de quatro partes devem corresponder.
Baixe e instale uma versão do Microsoft Edge WebDriver que corresponda à versão do seu navegador, da seguinte forma:
Vá até e
edge://settings/helpanote sua versão do Microsoft Edge, um número de quatro combinações:
Vá para o Microsoft Edge WebDriver.
Na seção Downloads da página, clique em um botão de plataforma (como x64) em um número de versão que corresponda ao número de versão do Microsoft Edge:
As três primeiras partes do número da versão de quatro partes devem corresponder entre o Microsoft Edge e o Microsoft Edge WebDriver. Por exemplo, as seguintes versões do Microsoft Edge e do Microsoft Edge Driver funcionarão juntas, pois os três primeiros números são iguais:
- 128.0.2739.79
- 128.0.2739.84
Para baixar versões mais antigas, clique no botão Ir para o diretório completo abaixo da seção Versões recentes .
Após a conclusão do download, extraia o executável para o
msedgedriverlocal de sua preferência. Adicione a pasta onde o executável está localizado à variávelPATHde ambiente.
Você deve instalar um driver de navegador (Microsoft Edge WebDriver) e uma estrutura de teste WebDriver (como o Selenium WebDriver), conforme descrito em Escolha uma estrutura de teste WebDriver abaixo. Esses são componentes separados.
Escolha uma estrutura de teste do WebDriver
Depois de baixar o Microsoft Edge WebDriver, o último componente que você deve baixar é uma estrutura de teste do WebDriver. Os autores de teste usam estruturas de teste WebDriver para escrever testes de ponta a ponta e automatizar navegadores. Uma estrutura de teste do WebDriver fornece uma interface específica da linguagem que traduz seu código em comandos que o Microsoft Edge WebDriver executa no Microsoft Edge. Existem estruturas de teste do WebDriver para todas as principais plataformas e linguagens, como Python, Java, C#, Ruby e JavaScript.
O Microsoft Edge WebDriver pode ser usado com qualquer estrutura WebDriver. Este artigo fornece instruções para usar a estrutura Selenium WebDriver, mas você pode usar qualquer biblioteca, estrutura e linguagem de programação que suporte WebDriver.
O Selenium WebDriver é uma implementação popular de uma estrutura WebDriver. O Selenium é uma biblioteca de automação entre navegadores que é independente de linguagem e de estrutura de teste. Este artigo usa o Selenium WebDriver apenas como um exemplo ilustrativo e porque atende às necessidades da maioria dos usuários. Se você usar o Selenium para automatizar o Microsoft Edge, deverá usar o Selenium 4; O Selenium 3 não é mais suportado.
Para realizar as mesmas tarefas usando uma estrutura de teste WebDriver diferente do Selenium WebDriver, consulte a documentação oficial da estrutura de sua escolha.
Usando o Selenium WebDriver
Uma possível estrutura do WebDriver que você pode usar é o Selenium WebDriver, que faz parte do conjunto de ferramentas Selenium. O Selenium WebDriver é uma estrutura de teste de código aberto que pode ser usada em qualquer plataforma e fornece associações de linguagem para Java, Python 3, C#, Ruby e JavaScript.
Se você usar o Selenium para automatizar o Microsoft Edge, deverá usar o Selenium 4; O Selenium 3 não é mais suportado.
Para obter instruções detalhadas sobre como instalar o Selenium para sua linguagem e ambiente de desenvolvimento preferidos, consulte a documentação do Selenium sobre a instalação de uma biblioteca Selenium.
Automatizar o Microsoft Edge com o WebDriver
Para automatizar um navegador usando o WebDriver, você deve primeiro iniciar uma sessão do WebDriver usando uma estrutura de teste do WebDriver. Uma sessão WebDriver é uma única instância em execução de um navegador que é controlada por meio de comandos WebDriver.
Inicie uma sessão do WebDriver para iniciar uma nova instância do navegador. A instância do navegador iniciada permanece aberta até que você feche a sessão do WebDriver.
A seção a seguir orienta você no uso do Selenium 4 para iniciar uma sessão do WebDriver com o Microsoft Edge.
Observação
Este artigo fornece instruções para usar a estrutura Selenium WebDriver, mas você pode usar qualquer biblioteca, estrutura e linguagem de programação que suporte WebDriver. Para realizar as mesmas tarefas usando outra estrutura, consulte a documentação da estrutura de sua escolha.
Automatizar o Microsoft Edge
O Selenium usa a classe para gerenciar uma sessão do EdgeDriver Microsoft Edge. O seguinte código:
- Inicia uma sessão do Microsoft Edge.
- Instrui o Microsoft Edge a ir para o Bing.
- Pesquisa por "WebDriver".
- Dorme por alguns segundos para que você possa ver os resultados.
Para começar a automatizar o Microsoft Edge com o WebDriver, copie e cole o trecho de código para o seu idioma preferido:
using OpenQA.Selenium;
using OpenQA.Selenium.Edge;
using System.Threading;
namespace EdgeDriverSample
{
class Program
{
static void Main(string[] args)
{
var driver = new EdgeDriver();
try
{
driver.Url = "https://bing.com";
var element = driver.FindElement(By.Id("sb_form_q"));
element.SendKeys("WebDriver");
element.Submit();
Thread.Sleep(5000);
}
finally
{
driver.Quit();
}
}
}
}
Gerenciar e configurar o serviço Microsoft Edge WebDriver
Quando você cria um novo EdgeDriver objeto para iniciar uma sessão do Microsoft Edge, o Selenium inicia um novo processo do Microsoft Edge WebDriver com o qual o EdgeDriver objeto se comunica. O processo do Microsoft Edge WebDriver é fechado quando você chama o EdgeDriver método do Quit objeto. Permitir que cada EdgeDriver objeto gerencie seu próprio processo de driver pode ser ineficiente se você tiver muitos testes, pois cada teste deve aguardar a inicialização de um novo processo de driver. Em vez disso, você pode criar um único processo do Microsoft Edge WebDriver e reutilizá-lo para vários testes.
O Selenium usa a classe para gerenciar um processo do EdgeDriverService Microsoft Edge WebDriver. Você pode criar uma vez antes de EdgeDriverService executar os testes e, em seguida, passar esse EdgeDriverService objeto para o EdgeDriver construtor ao criar um novo EdgeDriver objeto. Quando você passa um EdgeDriverService para o EdgeDriver construtor, o EdgeDriver objeto usará this EdgeDriverService, em vez de criar um novo.
Você também pode usá-las EdgeDriverService para configurar opções de linha de comando para o processo do Microsoft Edge WebDriver, conforme mostrado abaixo.
O snippet a seguir cria uma nova EdgeDriverService saída de log detalhada e habilita:
var service = EdgeDriverService.CreateDefaultService();
service.UseVerboseLogging = true;
var driver = new EdgeDriver(service);
Configurar opções do Microsoft Edge
Você pode passar um EdgeOptions objeto para o EdgeDriver construtor para configurar opções extras para o processo do navegador Microsoft Edge. A seção a seguir mostra como usar EdgeOptions para alguns cenários comuns. Para obter uma lista completa de opções com suporte, consulte Recursos e EdgeOptions.
Escolha binários específicos do navegador
Você pode iniciar uma sessão do WebDriver com binários específicos do Microsoft Edge. Por exemplo, você pode executar testes usando os canais de visualização do Microsoft Edge (Beta, Dev ou Canary), da seguinte forma:
var options = new EdgeOptions();
options.BinaryLocation = @"C:\Program Files (x86)\Microsoft\Edge Beta\Application\msedge.exe";
var driver = new EdgeDriver(options);
Para baixar um canal de visualização do Microsoft Edge (Beta, Dev ou Canary), acesse Torne-se um Microsoft Edge Insider.
Passar argumentos de linha de comando extras
Você pode usá-lo EdgeOptions para configurar argumentos de linha de comando que serão passados para o processo do navegador Microsoft Edge quando uma sessão for criada. Por exemplo, você pode configurar o navegador para ser executado no modo sem periféricos, da seguinte forma:
var options = new EdgeOptions();
options.AddArgument("--headless=new");
var driver = new EdgeDriver(options);
Outras opções de instalação do WebDriver
Docker
Se você usar o Docker, execute o comando a seguir para baixar uma imagem pré-configurada que tenha o Microsoft Edge e o Microsoft Edge WebDriver pré-instalados.
docker run -d -p 9515:9515 mcr.microsoft.com/msedge/msedgedriver
Para obter mais informações, consulte o contêiner msedgedriver no Docker Hub.
Application Guard
Os sites confiáveis que usam o Microsoft Defender Application Guard podem ser automatizados usando o Microsoft Edge WebDriver. O Microsoft Defender Application Guard também é chamado de Application Guard, para abreviar.
Sites não confiáveis que usam o Application Guard não podem ser automatizados ou manipulados usando o Microsoft Edge WebDriver. O Application Guard inicia sites não confiáveis em um contêiner, e esse contêiner não expõe a porta de depuração remota que o Microsoft Edge WebDriver precisa para se comunicar com o site.
O administrador corporativo define quais são os sites confiáveis, incluindo recursos de nuvem e redes internas. Os sites que não estão na lista de sites confiáveis são considerados não confiáveis. O Microsoft Edge WebDriver pode automatizar janelas InPrivate e sites na lista de sites confiáveis.
Para obter mais informações sobre o Application Guard, consulte:
- Suporte do Microsoft Edge para o Microsoft Defender Application Guard.
- Visão geral do Microsoft Defender Application Guard.
Recusar a coleta de dados de diagnóstico
Por padrão, o Microsoft Edge WebDriver envia dados de diagnóstico como o status do comando Nova Sessão WebDriver para a Microsoft. Para desativar a coleta de dados de diagnóstico para o Microsoft Edge WebDriver, defina a variável de MSEDGEDRIVER_TELEMETRY_OPTOUT ambiente como 1. Para obter mais informações sobre os dados coletados pelo Microsoft Edge WebDriver, consulte Microsoft Edge WebDriver em Dados do usuário e privacidade no Microsoft Edge.
Microsoft WebDriver para EdgeHTML herdado
O Microsoft WebDriver é a implementação herdada do WebDriver para o Microsoft Edge baseado em EdgeHTML. O Microsoft WebDriver foi distribuído como um componente opcional do Windows, porque o Microsoft Edge herdado (EdgeHTML) foi atualizado com o sistema operacional. O Microsoft WebDriver não é compatível com as versões mais recentes baseadas no Chromium do Microsoft Edge. O Microsoft WebDriver ainda está disponível para desenvolvedores que escreveram testes baseados no WebDriver para aplicativos UWP, pois eles dependem do EdgeHTML, mas o Microsoft WebDriver não é mais recomendado.
Consulte WebDriver (EdgeHTML).
Solução de problemas
Estas são considerações de solução de problemas ao usar o WebDriver para automatizar o Microsoft Edge.
Política de disponibilidade de ferramentas de desenvolvedor
Se o administrador de TI tiver definido a política DeveloperToolsAvailability como 2, o Microsoft Edge WebDriver será impedido de conduzir o Microsoft Edge, porque o driver usa o Microsoft Edge DevTools. Para automatizar o Microsoft Edge, verifique se a política DeveloperToolsAvailability está definida como 0 ou 1.
Usando o modelo do Visual Studio
Se você estiver usando o modelo do Microsoft Edge WebDriver fornecido com o Visual Studio, que cria um projeto de teste simples, verifique se você fez o seguinte:
- Baixe o Microsoft Edge WebDriver e verifique se ele está disponível no CAMINHO.
- Adicione a estrutura WebDriver (como o pacote NuGet Selenium.WebDriver ) ao projeto.
Depois de executar essas etapas, o teste de exemplo que navega para o Bing deve ser concluído com êxito.
Erro devido às Ferramentas Selenium para Microsoft Edge
Se você receber o seguinte erro ao tentar criar uma nova EdgeDriver instância: System.MissingMethodException: 'Method not found: 'OpenQA.Selenium.Remote.DesiredCapabilities OpenQA.Selenium.DriverOptions.GenerateDesiredCapabilities(Boolean)', consulte Atualizando do Selenium 3 para o Selenium 4 abaixo.
Atualizando do Selenium 3 para o Selenium 4
Se você usou o Selenium Tools for Microsoft Edge para adicionar suporte ao Microsoft Edge aos testes do navegador Selenium 3, atualize seus testes para o Selenium 4, da seguinte maneira:
Remova as Ferramentas Selenium para Microsoft Edge do seu projeto.
Atualize seus testes para usar as classes internas
EdgeDrivere relacionadas que o Selenium 4 fornece. Você deve atualizar todos os testes existentes do Selenium 3 para o Selenium 4. Para saber mais sobre como atualizar para o Selenium 4, consulte Atualizar para o Selenium 4.Remova todos os usos da
EdgeOptions.UseChromiumpropriedade. Esta propriedade não existe mais no Selenium 4, porque o Selenium 4 suporta apenas o Microsoft Edge (mecanismo do navegador Chromium).
Selenium 3 não é suportado
Para usar o WebDriver para automatizar o Microsoft Edge, se você usar o Selenium, verifique se está usando o Selenium 4. O Selenium 3 não é suportado.
Todos os novos projetos que usam o Selenium devem usar o Selenium 4. Para usar o WebDriver para automatizar o Microsoft Edge, se você usar o Selenium, verifique se está usando o Selenium 4. O Selenium 3 não é mais suportado.
As Ferramentas Selenium para Microsoft Edge não são mais usadas
O Selenium 4 não requer as Ferramentas Selenium para Microsoft Edge. As Ferramentas Selenium para Microsoft Edge eram apenas para Selenium 3.
Não use o Selenium 4 com as Ferramentas Selenium para Microsoft Edge, porque o Selenium 4 já possui suporte integrado para o Microsoft Edge. Se você tentar usar o Selenium Tools for Microsoft Edge, ao tentar criar uma nova EdgeDriver instância, receberá o seguinte erro: System.MissingMethodException: 'Method not found: 'OpenQA.Selenium.Remote.DesiredCapabilities OpenQA.Selenium.DriverOptions.GenerateDesiredCapabilities(Boolean)'. Se você estiver usando o Selenium 4 e receber esse erro, remova Microsoft.Edge.SeleniumTools do seu projeto e certifique-se de usar o OpenQA.Selenium.Edge oficial EdgeOptions e EdgeDriver as classes do namespace.
Consulte também
- The Selenium Browser Automation Project - Informações sobre o WebDriver no contexto do Selenium e como escrever testes automatizados do WebDriver usando o Selenium.
- Pacote NuGet Selenium.WebDriver.
- Entre em contato com a equipe do Microsoft Edge WebDriver para enviar comentários sobre o uso do WebDriver, estruturas de teste do WebDriver (como o Selenium) e o Microsoft Edge.
Arquivado: