Utilizar o Controlador de Explorer da Internet para automatizar o modo IE no Microsoft Edge
Se tiver aplicações ou sites legados críticos para a empresa, poderá ter de testar os seus conteúdos no modo internet Explorer (IE) no Microsoft Edge. Este artigo descreve como começar a utilizar o Controlador de Explorer da Internet (IEDriver) para automatizar o modo IE no Microsoft Edge.
O modo IE no Microsoft Edge é uma funcionalidade para organizações que ainda precisam de Internet Explorer 11 para retrocompatibilidade para sites ou aplicações legados. Para saber mais sobre o modo IE, leia O que é o modo internet Explorer (IE)?
A partir de 15 de junho de 2022, a Internet Explorer 11 deixará de ser suportada em determinadas versões do Windows 10. Para obter mais informações, leia FAQ sobre a descontinuação da aplicação de ambiente de trabalho internet Explorer 11.
Transferir o Controlador de Explorer da Internet (IEDriver)
Para começar a automatizar testes no modo IE no Microsoft Edge, transfira o IEDriver. Certifique-se de que a versão do IEDriver que transfere é 4.0.0.0
ou superior.
Configuração Necessária
Para configurar o IEDriver, o Windows e o Microsoft Edge corretamente, preencha os requisitos para a configuração necessária do Selenium.
Colocar o controlador executável no CAMINHO
O executável do controlador tem de ser colocado no CAMINHO; veja Servidor de Controladores do IE. Na parte superior dessa página, lê-se: "O executável do servidor autónomo tem de ser transferido a partir da página Transferências e colocado no seu PATH."
Se a localização do controlador não estiver incluída no PATH, tem de definir a localização do controlador com a propriedade webdriver.ie.driver
do sistema Java ou de outra forma.
Automatizar o modo IE no Microsoft Edge
As secções seguintes explicam como utilizar o Selenium para automatizar o modo IE no Microsoft Edge.
Este artigo fornece instruções para utilizar a arquitetura Selenium, mas pode utilizar qualquer linguagem de biblioteca, arquitetura e programação que suporte o WebDriver. Para realizar as mesmas tarefas com outra arquitetura, consulte a documentação da sua estrutura de eleição.
Para iniciar o Microsoft Edge no modo IE com o IEDriver:
Defina
InternetExplorerOptions
com propriedades adicionais que apontem para o browser Microsoft Edge.Inicie uma instância de
InternetExplorerDriver
e transmita-aInternetExplorerOptions
. O IEDriver inicia o Microsoft Edge e, em seguida, carrega o seu conteúdo Web no modo IE.
A secção seguinte mostra o exemplo completo e, em seguida, as secções subsequentes focam-se em cada um dos passos main listados acima.
O exemplo completo
O exemplo seguinte inicia o Microsoft Edge no modo IE, navega para bing.com e, em seguida, procura "WebDriver".
using System;
using OpenQA.Selenium;
using OpenQA.Selenium.IE;
namespace IEDriverSample
{
class Program
{
static void Main(string[] args)
{
var ieOptions = new InternetExplorerOptions();
ieOptions.AttachToEdgeChrome = true;
//change the path accordingly
ieOptions.EdgeExecutablePath = "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe";
var driver = new InternetExplorerDriver(ieOptions);
driver.Url = "https://bing.com";
driver.FindElement(By.Id("sb_form_q")).SendKeys("WebDriver");
driver.FindElement(By.Id("sb_form")).Submit();
driver.Quit();
}
}
}
As secções seguintes explicam os passos neste exemplo mais detalhadamente.
Definir InternetExplorerOptions com propriedades adicionais para o Microsoft Edge
Defina InternetExplorerOptions
com propriedades adicionais que apontem para o browser Microsoft Edge.
Defina uma nova variável,
ieOptions
, ao chamarInternetExplorerOptions()
.Defina
ieOptions.AttachToEdgeChrome
a propriedade comotrue
eieOptions.EdgeExecutablePath
para o caminho do executável do Microsoft Edge.
var ieOptions = new InternetExplorerOptions();
ieOptions.AttachToEdgeChrome = true;
//change the path accordingly
ieOptions.EdgeExecutablePath = "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe";
Iniciar o IEDriver
Inicie o IEDriver. O IEDriver inicia o Microsoft Edge e, em seguida, carrega o seu conteúdo Web no modo IE.
Inicie InternetExplorerDriver
e transmita-o ao definido anteriormente ieOptions
. O IEDriver inicia o Microsoft Edge no modo IE. Todas as interações subsequentes e navegação de páginas ocorrem no modo IE.
var driver = new InternetExplorerDriver(ieOptions);
Limitações conhecidas
Esta secção abrange cenários conhecidos que anteriormente funcionavam com o IEDriver e a aplicação de ambiente de trabalho IE11, mas que requerem soluções ao utilizar o IEDriver com o Microsoft Edge no modo IE.
Abrir uma nova janela
Se o código de teste criar uma nova janela do browser com um dos seguintes métodos, poderá ter de adicionar uma breve operação de espera posteriormente para garantir que o IEDriver detetou a nova janela:
- Abrir uma nova janela ao chamar window.open a partir da
<script>
página. - Abrir uma nova janela utilizando o comando Nova Janela do WebDriver.
Para garantir que a nova janela foi criada com êxito e que o IEDriver a detetou, tem de marcar continuamente o resultado do comando Obter Alças de Janela até que contenha uma alça para a nova janela.
O exemplo seguinte demonstra uma possível forma de esperar que sejam detetadas novas alças de janela ao abrir novas janelas.
Depois de o Click
método ser chamado num botão que abre uma nova janela, o código de teste tem de aguardar até driver.WindowHandles
conter a nova alça de janela.
var initialHandleCount = driver.WindowHandles.Count;
driver.FindElement(By.Id("<Id of the button that will open a new window>")).Click();
var newHandles = driver.WindowHandles;
while (newHandles.Count == initialHandleCount)
{
newHandles = driver.WindowHandles;
}
Criar separadores e alternar entre separadores
Se o código de teste alternar entre vários separadores na mesma janela do Microsoft Edge, os separadores que ficam inativos poderão não ser incluídos na lista de identificadores devolvidos pela opção Obter Alças de Janela. Na aplicação de ambiente de trabalho internet Explorer 11, o IEDriver irá devolver identificadores para todos os separadores no IE, independentemente do estado de ativação.
Ao utilizar o Microsoft Edge no modo IE, se o seu teste mudar o foco de um determinado separador e quiser voltar a esse separador mais tarde, tem de armazenar uma cópia da alça da janela do separador.
Confira também
- Utilizar o WebDriver para automatizar o Microsoft Edge – uma descrição geral da automatização do Microsoft Edge com o protocolo WebDriver.
- Documentação do Selenium – informações sobre o WebDriver no contexto do Selenium e como escrever testes automatizados do WebDriver com o Selenium.
- Contacte a equipa do Microsoft Edge DevTools para enviar feedback sobre como utilizar o WebDriver, as arquiteturas de teste do WebDriver (como o Selenium) e o Microsoft Edge.