check visibility web elements using various types webdriver commands selenium tutorial 14
Como verificar a visibilidade dos elementos da web usando vários tipos de loop e comandos condicionais no WebDriver:
Anteriormente na série, discutimos sobre Classe selecionada do WebDriver que é usado principalmente para lidar com elementos da web, como menus suspensos e selecionar várias opções nos menus suspensos.
Seguindo em frente no Selenium series , estaríamos discutindo sobre os vários tipos de comandos condicionais e de loop no WebDriver, como isSelected (), isEnabled () e isDispalyed (). Esses métodos são usados para determinar o escopo de visibilidade para os elementos da web.
Portanto, vamos começar com uma breve introdução - o WebDriver tem uma especificação W3C que detalha as informações sobre as diferentes preferências de visibilidade com base nos tipos de elementos da web sobre os quais as ações devem ser realizadas.
O WebDriver facilita o usuário com os seguintes métodos para verificar a visibilidade dos elementos da web. Esses elementos da web podem ser botões, caixas suspensas, caixas de seleção, botões de rádio, rótulos, etc.
- é exibido()
- é selecionado()
- está ativado()
Para uma melhor compreensão, vamos discutir os métodos mencionados acima com exemplos de código.
Como amostra, usaríamos o “google.com” como um aplicativo em teste e o projeto “Learning_Selenium” criado nos tutoriais anteriores para geração de script.
Cenário a ser automatizado
- Inicie o navegador da web e abra o aplicativo em teste - http://google.com
- Verifique o título da página da web
- Verifique se o botão “Pesquisa Google” é exibido
- Digite a palavra-chave na caixa de texto “Pesquisa Google” pela qual gostaríamos de fazer a solicitação
- Verifique se o “botão Pesquisar” é exibido e ativado
- Com base na visibilidade do botão Pesquisar, clique no botão Pesquisar
O que você aprenderá:
Código WebDriver
Passo 1: Crie uma nova classe java chamada “VisibilityConditions” no projeto “Learning_Selenium”.
o melhor conversor de youtube para mp3 online
Passo 2: Copie e cole o código abaixo na classe “VisibilityConditions.java”.
Abaixo está o script de teste que é equivalente ao cenário mencionado acima:
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class VisibilityConditions { /** * @param args */ public static void main(String() args) { // objects and variables instantiation WebDriver driver = new FirefoxDriver(); String appUrl = 'https://google.com'; // launch the firefox browser and open the application url driver.get(appUrl); // maximize the browser window driver.manage().window().maximize(); // declare and initialize the variable to store the expected title of the webpage. String expectedTitle = 'Google'; // fetch the title of the web page and save it into a string variable String actualTitle = driver.getTitle(); // compare the expected title of the page with the actual title of the page and print the result if (expectedTitle.equals(actualTitle)) { System.out.println('Verification Successful - The correct title is displayed on the web page.'); } else { System.out.println('Verification Failed - An incorrect title is displayed on the web page.'); } // verify if the “Google Search” button is displayed and print the result boolean submitbuttonPresence=driver.findElement(By.id('gbqfba')).isDisplayed(); System.out.println(submitbuttonPresence); // enter the keyword in the “Google Search” text box by which we would want to make the request WebElement searchTextBox = driver.findElement(By.id('gbqfq')); searchTextBox.clear(); searchTextBox.sendKeys('Selenium'); // verify that the “Search button” is displayed and enabled boolean searchIconPresence = driver.findElement(By.id('gbqfb')).isDisplayed(); boolean searchIconEnabled = driver.findElement(By.id('gbqfb')).isEnabled(); if (searchIconPresence==true && searchIconEnabled==true) { // click on the search button WebElement searchIcon = driver.findElement(By.id('gbqfb')); searchIcon.click(); } // close the web browser driver.close(); System.out.println('Test script executed successfully.'); // terminate the program System.exit(0); } }
Passo a passo do código
A seguir estão as maneiras pelas quais verificamos a presença de elementos da web na página da web.
boleano submitbuttonPresence = driver.findElement (By.id ( 'Acreditar' )).é exibido();
isDispalyed ()
isDisplayed () é o método usado para verificar a presença de um elemento da web na página da web. O método é projetado para resultar de um valor booleano com cada sucesso e falha. O método retorna um valor “verdadeiro” se o elemento da web especificado estiver presente na página da web e um valor “falso” se o elemento da web não estiver presente na página da web.
Assim, o snippet de código acima verifica a presença do botão de envio na página da web do Google e retorna um valor verdadeiro se o botão de envio estiver presente e visível, caso contrário, retorna um valor falso se o botão de envio não estiver presente na página da web.
boleano searchIconEnabled = driver.findElement (By.id ( 'Gbqfb' )).está ativado();
O método lida com a visibilidade de todos os tipos de elementos da web, não apenas se limitando a qualquer tipo.
está ativado()
isEnabled () é o método usado para verificar se o elemento da web está habilitado ou desabilitado na página da web. Como o método isDisplayed (), ele é projetado para resultar em um valor booleano com cada sucesso e falha. O método retorna um valor “verdadeiro” se o elemento da web especificado estiver habilitado na página da web e um valor “falso” se o elemento da web não estiver habilitado (estado de desabilitado) na página da web.
Portanto, o trecho de código acima verifica se o botão de envio está habilitado ou não e retorna um valor booleano dependendo do resultado.
O método isEnabled () é significativo em cenários em que desejamos verificar que somente se a “Condição A” for atendida, o elemento (principalmente o botão) será habilitado. Consulte a ilustração a seguir para o mesmo.
Na figura acima, o botão Registrar é habilitado apenas quando a caixa de seleção do contrato é marcada.
Semelhante aos métodos acima, temos um método referido como “isSelected ()” que testa se o elemento da web especificado está selecionado ou não.
boleano searchIconSelected = driver.findElement (By.id ( 'Masculino' )).é selecionado();
como abrir um arquivo binário no windows
é selecionado()
isSelected () é o método usado para verificar se o elemento da web está selecionado ou não. O método isSelected () é predominantemente usado com botões de opção, menus suspensos e caixas de seleção. Análogo aos métodos acima, ele é projetado para resultar em um valor booleano para cada sucesso e falha.
Assim, o trecho de código acima verifica se o botão de opção masculino está selecionado ou não e retorna um valor booleano dependendo do resultado. Consulte a seguinte imagem para o mesmo.
Conclusão
Neste tutorial, tentamos familiarizá-lo com as operações condicionais e de loop do WebDriver. Esses métodos condicionais geralmente lidam com quase todos os tipos de opções de visibilidade para elementos da web.
Resumo do artigo:
- O WebDriver tem uma especificação W3C que detalha as informações sobre as diferentes preferências de visibilidade com base nos tipos de elementos da web.
- isDisplayed () é o método usado para verificar a presença de um elemento da web na página da web. O método retorna um valor “verdadeiro” se o elemento da web especificado estiver presente na página da web e um valor “falso” se o elemento da web não estiver presente na página da web.
- isDisplayed () é capaz de verificar a presença de todos os tipos de elementos da web disponíveis.
- isEnabled () é o método usado para verificar se o elemento da web está habilitado ou desabilitado na página da web.
- isEnabled () é usado principalmente com botões.
- isSelected () é o método usado para verificar se o elemento da web está selecionado ou não. O método isSelected () é usado predominantemente com botões de opção, menus suspensos e caixas de seleção.
Próximo Tutorial # 15 : Ao trabalhar em aplicativos da web, muitas vezes somos redirecionados para diferentes páginas da web, atualizando toda a página da web e recarregando os novos elementos da web. Às vezes, pode haver chamadas Ajax também. Assim, pode-se observar um lapso de tempo ao recarregar as páginas da web e refletir os elementos da web. Portanto, nosso próximo tutorial in-line é sobre como lidar com essas defasagens de tempo usando esperas implícitas e explícitas.
Nota para os leitores : Até então, o leitor pode automatizar e testar o escopo de visibilidade para os elementos da web usando os métodos WebDriver.
Leitura recomendada
- Introdução ao Selenium WebDriver - Selenium Tutorial # 8
- Implementação do nosso primeiro script WebDriver - Selenium WebDriver Tutorial # 10
- Como localizar elementos em navegadores Chrome e IE para construir scripts do Selenium - Tutorial do Selenium nº 7
- Tutorial Cucumber Selenium: Cucumber Java Selenium WebDriver Integration
- Configuração e instalação completas do WebDriver com Eclipse - Selenium Tutorial # 9
- Como usar o seletor CSS para identificar elementos da Web para scripts do Selenium - Tutorial do Selenium nº 6
- Scripts Eficientes do Selenium e Cenários de Solução de Problemas - Tutorial # 27 do Selenium
- Depurando Scripts Selenium com Logs (Tutorial Log4j) - Tutorial Selenium # 26