selenium 4 new features
Esta revisão lista as diferenças entre Selenium 3 vs Selenium 4 e novos recursos e mudanças na última versão do Selenium 4 (Alpha 3):
A versão Selenium 4 (Alpha 3) já é lançada no mercado. Como todos sabemos, o fundador do Selenium é “Simon Stewart” e agora ele introduziu a nova versão não apenas para drivers web, mas também para Grid e IDE.
O Selenium 4 adotou o protocolo de driver da Web padrão W3C. Todos os navegadores como Google Chrome, Safari, Internet Explorer, Edge e muitos outros também seguem o padrão W3C, devido ao qual a interação entre o driver do navegador e o Selenium Web Driver agora será baseada no protocolo de driver da web padrão W3C.
O que você aprenderá:
Avaliação do Selenium 4
As alterações relacionadas aos padrões W3C são feitas para melhorar a versão, já que os comandos Selenium anteriores funcionavam de maneira muito diferente em navegadores diferentes.
Observação : Versão Alfa do Selenium 4 lançada em abril de 2019.
Faça o download do Selenium 4 Alpha version clicando em “4.0.0-alpha-6” conforme mostrado na imagem abaixo:
As bibliotecas da versão mais recente estão presentes no Repositório Central Maven.
Leitura Recomendada => Selenium Remote Driver
Diferença entre selênio 3 e selênio 4
Selênio 3 | Selênio 4 |
---|---|
A interação do navegador é baseada no protocolo de fio JSON devido ao qual ele precisa de codificação e decodificação da API | Segue o protocolo padrão W3C, pois o driver e a comunicação do navegador seguem o procedimento padrão, não requer codificação e decodificação da API, portanto a comunicação ocorre de forma direta. |
Mudanças importantes relacionadas à arquitetura
# 1) Suportes removidos para alguns navegadores: Agora, eles removeram os suportes para os navegadores Opera e Phantom JS. Os usuários do Opera podem usar o navegador Chrome, enquanto os usuários do Phantom JS podem usar o Chrome ou Firefox no modo sem cabeça.
# 2) Grade de selênio otimizada: Selenium Grid foi desenvolvido em 2011.
Selenium 4 surgiu com uma nova arquitetura para remover os problemas que ocorreram anteriormente durante a instalação e configuração, também durante a conexão entre o hub e a máquina do nó.
Vamos entender brevemente sobre a Grade de Selênio, que contém dois componentes principais:
- Nó: É usado para executar testes em sistemas de computador individuais. Pode haver vários nós em uma grade.
- Cubo: É o ponto central de onde controla todas as máquinas presentes na rede, e contém apenas um hub que ajuda a alocar a execução dos testes a diferentes nós.
Mas no Selenium 4, a grade é muito flexível. Ele nos permite testar os casos em vários navegadores, navegadores de diferentes versões e também em diferentes sistemas operacionais. Mesmo agora, não há necessidade de uma configuração para iniciar o hub e os nós individualmente, uma vez que o usuário inicia o servidor, o Grid funciona automaticamente como nós e hub.
Ele também oferece suporte a ferramentas avançadas como Docker, AWS, Azure e muito mais, úteis no processo de DevOps. Agora o Grid tem uma IU mais amigável e contém informações relevantes relacionadas à sessão, funcionamento, capacidade, etc.
>> Clique aqui Para maiores informações.
# 3) Documentação padronizada: Os documentos desempenham um papel essencial para qualquer usuário, e os documentos do Selenium não foram atualizados desde o Selenium 2.0.
Com o Selenium 4, eles atualizaram todos os documentos oficiais relacionados ao Selenium que incluem driver da web, Grid e IDE para explicar as últimas mudanças.
# 4) Melhoria no Selenium 4 IDE: Selenium IDE é uma ferramenta de gravação e reprodução usada para interação do usuário com o navegador, e a nova versão do IDE está disponível com mais recursos
Esses recursos incluem:
- Além disso, melhora o suporte do navegador. Agora com uma nova versão, qualquer fornecedor de navegador pode facilmente se conectar ao Selenium IDE mais recente.
- O CLI Runner será baseado em NodeJS, não no runner baseado em HTML, e suporta a execução paralela a partir da qual fornece o relatório com o número total de casos de teste aprovados / reprovados junto com o tempo de execução gasto.
# 5) Melhor monitoramento: O processo de registro e rastreamento de solicitação agora foi aprimorado para controlar melhor o processo de depuração para engenheiros de automação, já que ele não se limita apenas ao DevOps.
Características do Selênio 4
Os recursos são os seguintes:
# 1) Capture a captura de tela de um elemento específico da web:
Anteriormente, os usuários podem fazer uma captura de tela de toda a página, pois não havia nenhuma disposição para fazer a captura de tela do elemento da web específico. Mas, com o Selenium 4, os usuários podem fazer a captura de tela de um elemento da web específico.
Encontre o código abaixo:
WebElement logo=driver.Findelement (By.xpath(“//div(@id=’divLogo’)//img”)); File file=logo.getScreenshotAs(OutputType.FILE); File destFile =new File(“logo.png”); FileUtils.copyFile(file,destfile);
# 2) Abra a nova guia no navegador:
scripts de teste de amostra para teste de software
Agora, no Selenium 4, o usuário pode abrir uma URL em uma nova guia junto com a guia existente.
Por exemplo: Se o usuário deseja abrir 2 URLs em duas guias diferentes ao mesmo tempo, o usuário pode fazer isso com o Selenium 4.
Encontre o código abaixo para referência:
driver.get(https://www.google.com/); driver.switchTo().newWindow(WindowType.TAB); driver.navigate().to(https://www.crmpro.com/);
# 3) Abra uma nova janela no navegador:
Usando o Selenium 4, os usuários também podem abrir a nova janela no mesmo navegador.
Por exemplo, se o usuário deseja acessar dois aplicativos no mesmo navegador, o usuário agora pode fazer isso.
Encontre o código abaixo para referência:
driver.get(https://www.google.com/); driver.switchTo().newWindow(WindowType.WINDOW); driver.navigate().to(https://www.crmpro.com/);
# 4) Localização do objeto:
Agora com Selenium 4, os usuários podem obter as coordenadas, dimensão, altura, largura, etc. como a localização dos elementos da web ou objeto.
Encontre o código abaixo para sua referência:
WebElement logo1=driver.Findelement(By.xpath(“//div(@id=’divLogo’)//img”)); System.out.println(“Height:” +logo.getRect().getDimension().getHeight()); System.out.println(“Height:” +logo.getRect().getDimension().getWidth()); System.out.println(“X Location: “ +Logo.getRect().getX()); System.out.println(“Y Location: “ +Logo.getRect().getY());
# 5) Localizadores Relativos:
Também são conhecidos como localizadores amigáveis, e esta funcionalidade está sendo adicionada para descobrir o elemento que está presente nas proximidades de outro elemento da web ou, podemos dizer que ele pode encontrar os elementos da web com base na localização da GUI.
Existem cinco localizadores adicionados no Selenium 4:
- abaixo de(): Elemento da Web localizado abaixo para o elemento especificado.
- toLeftOf (): Elemento da web de destino que está presente à esquerda do elemento especificado.
- toRightOf (): Elemento da web de destino que é apresentado à direita de um elemento especificado.
- acima(): Elemento da Web localizado acima para o elemento especificado.
- perto() : Alvo elemento da web que está longe (aproximadamente 50 pixels) do elemento especificado.
Observação: Todos os métodos de localizadores relativos acima suportam o método “withTagName”.
O exemplo abaixo é para os localizadores toLeftof () e below ():
WebElement book; book = driver.Findelement(RelativeLocators.withTagName(“li”).toLeftOf(By.id(“pid1”)) .below(By.id(“pid2”))); String id1=book.getAttribute (“id1”);
O exemplo abaixo é para os localizadores toRightOf () e above ():
WebElement book1; book1 = driver.Findelement(RelativeLocators.withTagName(“li”).toRightOf(By.id(“pid1”)) .above(By.id(“pid2”))); String id2=book1.getAttribute (“id2”);
# 6) Ferramentas Chrome Dev:
Na nova versão do Selenium, eles fizeram algumas mudanças internas na API. Anteriormente no Selenium 3, o driver do Chrome se estende diretamente para a classe Remote Web Driver. Mas agora no Selenium 4, a classe de driver do Chrome se estende ao Chromium Driver. A classe Chromium Driver possui alguns métodos predefinidos para acessar a ferramenta dev.
Observação: O driver do Chromium estende a classe de driver da Web remota.
Usando a API, podemos realizar as seguintes operações:
- Ativar rede offline
- Habilitar rede online
- Obter registros do console
- Carregar Site de Insure
Conclusão
Neste tutorial, cobrimos a introdução à nova versão do Selenium 4, alguns recursos futuros relacionados ao Selenium Grid, IDE e Selenium WebDriver.
Também vimos uma breve descrição dos Localizadores Relativos, ferramentas de desenvolvimento do Chrome. Podemos esperar muito do Selenium 4, seja o suporte do navegador, a documentação ou a interface do usuário.
Autor: Este artigo foi escrito por Akanksha K, que tem mais de 7 anos de experiência em Qualidade de Software e construção de Frameworks de Teste.
Leitura recomendada
- 30+ Melhores Tutoriais de Selênio: Aprenda Selênio com Exemplos Reais
- Instalação de download do Selenium IDE e introdução aos principais recursos
- Introdução ao Selenium WebDriver - Selenium Tutorial # 8
- Tutorial do ChromeDriver Selenium: testes do Selenium Webdriver no Chrome
- Como usar o Firebug para criar scripts do Selenium - Tutorial # 4 do Selenium
- Selenium PhantomJS Tutorial para Headless Automation
- Ações de selênio: Lidar com clique duplo e direito no selênio
- Localizadores de Selenium: Identificar Elementos da Web Usando XPath no Selenium (Exemplos)