Use o WebDriver para automatizar o Microsoft Edge

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:

  1. Vá até e edge://settings/help anote sua versão do Microsoft Edge, um número de quatro combinações:

    O número da compilação do Microsoft Edge em 28 de setembro de 2024

  2. Vá para o Microsoft Edge WebDriver.

  3. 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:

    A seção Obter a versão mais recente da página da Web do Microsoft Edge WebDriver

    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 .

  4. Após a conclusão do download, extraia o executável para o msedgedriver local de sua preferência. Adicione a pasta onde o executável está localizado à variável PATH de 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:

  1. Inicia uma sessão do Microsoft Edge.
  2. Instrui o Microsoft Edge a ir para o Bing.
  3. Pesquisa por "WebDriver".
  4. 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:

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:

  1. Remova as Ferramentas Selenium para Microsoft Edge do seu projeto.

  2. Atualize seus testes para usar as classes internas EdgeDriver e 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.

  3. Remova todos os usos da EdgeOptions.UseChromium propriedade. 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

Arquivado: