implementation our first webdriver script selenium webdriver tutorial 10
Nos dois tutoriais anteriores, nós o familiarizamos com a arquitetura básica e recursos do WebDriver e a infraestrutura necessária para começar a usar o Selenium WebDriver . Supondo que todos vocês tenham configurado o sistema com todos os utilitários e pacotes necessários, prosseguiremos com a implementação de nosso primeiro script de teste WebDriver.
Portanto, avançando com o consequente Tutorial do Selenium WebDriver , estaríamos criando um script WebDriver. Também espalharíamos a luz sobre o básico e comumente usado Comandos WebDriver . Também aprenderíamos sobre o localização de estratégias de elementos de interface do usuário e sua inclusão nos scripts de teste. Também estudaríamos os comandos Get em detalhes.
O que você aprenderá:
- Criação de Script
- Passo a passo do código
- Execução de Teste
- Localizando Elementos da Web
- Tipos de localizador e sua sintaxe
- Conclusão
- Leitura recomendada
Criação de Script
Para a criação do script, usaríamos o projeto “Learning_Selenium” criado no tutorial anterior e “gmail.com” como o aplicativo em teste (AUT).
Cenário:
- Inicie o navegador e abra “Gmail.com”.
- Verifique o título da página e imprima o resultado da verificação.
- Digite o nome de usuário e senha.
- Clique no botão Entrar.
- Feche o navegador da web.
Passo 1: Crie uma nova classe java chamada “Gmail_Login” no projeto “Learning_Selenium”.
Passo 2: Copie e cole o código abaixo na classe “Gmail_Login.java”.
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class Gmail_Login { /** * @param args */ public static void main(String() args) { // objects and variables instantiation WebDriver driver = new FirefoxDriver(); String appUrl = 'https://accounts.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 = ' Sign in - Google Accounts '; // 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.'); } // enter a valid username in the email textbox WebElement username = driver.findElement(By.id('Email')); username.clear(); username.sendKeys('TestSelenium'); // enter a valid password in the password textbox WebElement password = driver.findElement(By.id('Passwd')); password.clear(); password.sendKeys('password123'); // click on the Sign in button WebElement SignInButton = driver.findElement(By.id('signIn')); SignInButton.click(); // close the web browser driver.close(); System.out.println('Test script executed successfully.'); // terminate the program System.exit(0); } } O código acima é equivalente ao cenário textual apresentado anteriormente.
Passo a passo do código
Declarações de importação:
import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.By; Antes do script real, precisamos importar os pacotes acima:
importar org.openqa.selenium.WebDriver - Faz referência à interface WebDriver, necessária para instanciar um novo navegador da web.
importar org.openqa.selenium.firefox.FirefoxDriver - Faz referência à classe FirefoxDriver que é necessária para instanciar um driver específico do Firefox na instância do navegador instanciada usando a interface WebDriver.
importar org.openqa.selenium.WebElement - Referências à classe WebElement que é necessária para instanciar um novo elemento da web.
importar org.openqa.selenium.By - Referências à classe By na qual um tipo de localizador é chamado.
Conforme e quando nosso projeto cresceria, é evidente e lógico que poderíamos ter que apresentar vários outros pacotes para funcionalidades mais complexas e distintas, como manipulações do Excel, conectividade de banco de dados, registro, asserções etc.
melhor remoção gratuita de vírus e malware
Instanciação do objeto
Driver WebDriver = novo FirefoxDriver ();
Criamos uma variável de referência para a interface WebDriver e a instanciamos usando a classe FirefoxDriver. Um perfil padrão do Firefox será iniciado, o que significa que nenhuma extensão ou plug-in será carregado com a instância do Firefox e que ela será executada no modo de segurança.
Iniciando o navegador da web
driver.get (appUrl);
PARA obter() método é chamado na instância WebDriver para iniciar uma nova instância do navegador da web. A sequência de caracteres da string passada como um parâmetro para o obter() método redireciona a instância do navegador da web iniciada para a URL do aplicativo.
Maximize a janela do navegador
driver.manage (). window (). maximize ();
O maximizar() O método é usado para maximizar a janela do navegador logo depois de ser redirecionado para a URL do aplicativo.
Busque o título da página
suporte técnico perguntas e respostas da entrevista em pdf
driver.getTitle ();
O getTitle () método é usado para buscar o título da página da web atual. Assim, o título obtido pode ser carregado em uma variável de string.
Comparação entre os valores esperados e reais:
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.'); } O código acima usa as construções java de instrução condicional para comparar o valor real e o valor esperado. Com base no resultado obtido, a instrução de impressão seria executada.
WebElement Instantiation
WebElement username = driver.findElement (By.id (“Email”));
Na declaração acima, instanciamos a referência WebElement com a ajuda de “Driver.findElement (By.id (“ Email ”))”. Assim, o nome de usuário pode ser usado para fazer referência à caixa de texto E-mail na interface do usuário sempre que desejarmos realizar alguma ação nela.
Comando claro
username.clear ();
O método / comando clear () é usado para limpar o valor presente na caixa de texto, se houver. Ele também limpa o valor do marcador de posição padrão.
Comando sendKeys
username.sendKeys (“TestSelenium“);
O sendKeys () método / comando é usado para inserir / digitar o valor especificado (entre parênteses) na caixa de texto. Observe que o sendKeys () método é chamado no objeto WebElement que foi instanciado com a ajuda da propriedade element correspondente ao elemento UI.
O bloco de código acima insere a string “TestSelenium” dentro da caixa de texto E-mail no aplicativo Gmail.
sendKeys é um dos comandos mais usados nos scripts WebDriver.
Clique em Comando
SignInButton.click ();
Gostar sendKeys (), clique em () é outro comando excessivamente usado para interagir com os elementos da web. Clique() comando / método é usado para clicar no elemento da web presente na página da web.
O bloco de código acima clica no botão “Sign in” presente no aplicativo Gmail.
Notas:
- Ao contrário do método sendKeys (), os métodos click () nunca podem ser parametrizados.
- Às vezes, clicar em um elemento da web pode carregar uma nova página completamente. Assim, para sustentar tais casos, o método click () é codificado de forma a esperar até que a página seja carregada.
Feche o navegador da web
driver.close ();
O close () é usado para fechar a janela do navegador atual.
Encerrar o programa Java
System.exit (0);
O método Exit () termina o programa Java à força. Portanto, lembre-se de fechar todas as instâncias do navegador antes de encerrar o programa Java.
Execução de Teste
O script de teste ou simplesmente o programa java pode ser executado das seguintes maneiras:
# 1. Na barra de menu do Eclipse, há um ícone para executar o script de teste. Consulte a figura a seguir.

Observe que apenas a classe selecionada será executada.
#dois. Clique com o botão direito em qualquer lugar dentro da classe dentro do editor, selecione a opção “Executar como” e clique em “Aplicativo Java”.
# 3. Outro atalho para executar o script de teste é - Pressione ctrl + F11.
No final do ciclo de execução, a instrução de impressão “Script de teste executado com sucesso.” pode ser encontrado no console.
Localizando Elementos da Web
Os elementos da Web no WebDriver podem ser localizados e inspecionados da mesma maneira que fizemos nos tutoriais anteriores do Selenium IDE. Selenium IDE e Firebug podem ser usados para inspecionar o elemento da web na GUI. É altamente recomendável usar Selenium IDE para encontrar os elementos da web. Assim que o elemento da web for encontrado com sucesso, copie e cole o valor de destino no código do WebDriver. Os tipos de localizadores e as estratégias de localização são praticamente os mesmos, exceto pela sintaxe e sua aplicação.
No WebDriver, os elementos da web são localizados com a ajuda dos localizadores dinâmicos (findElement (By.locatorType (“locator value”))).
Código de amostra:
driver.findElement (By.id (“Email”));

Tipos de localizador e sua sintaxe
| Tipo de localizador | Sintaxe | Descrição |
|---|---|---|
| cssSelector | driver.findElement (By.cssSelector (“Seletor CSS”)) | Localize por valor de o seletor CSS |
| eu ia | driver.findElement (By.id (“ID_of_Element”)) | Localize por valor de o atributo “id” |
| nome da classe | driver.findElement (By.className (“Class_of_Element”)) | Localize por valor de o atributo “classe” |
| Texto do link | driver.findElement (By.linkText (“Texto”)) | Localize pelo valor do texto do hiperlink |
| parcialLinkText | driver.findElement (By.partialLinkText (“PartialText”)) | Localize pelo valor do subtexto do hiperlink |
| nome | driver.findElement (By.name (“Name_of_Element”)) | Localize pelo valor do Atributo “nome” |
| xpath | driver.findElement (By.xpath (“Xpath”)) | Localizar por valor do xpath |
| tagName | driver.findElement (By.tagName (“input”)) | Localize por valor de seu nome de tag |
Conclusão
Neste tutorial, desenvolvemos um script de automação usando WebDriver e Java. Também discutimos os vários componentes que constituem um script WebDriver.
Aqui estão os pontos essenciais deste Tutorial do Selenium WebDriver:
é a chave de rede igual à senha
- Antes do script real, precisamos importar alguns pacotes para poder criar um script WebDriver.
- importar openqa.selenium.By;
- importar openqa.selenium.WebDriver;
- importar openqa.selenium.WebElement;
- importar openqa.selenium.firefox.FirefoxDriver;
- PARA obter() método usado para iniciar uma nova instância do navegador da web. A sequência de caracteres passada como um parâmetro para o método get () redireciona a instância do navegador da web iniciada para a URL do aplicativo.
- O maximizar() método é usado para maximizar a janela do navegador.
- O Claro() método é usado para limpar o valor presente na caixa de texto, se houver.
- O sendKeys () método é usado para inserir o valor especificado na caixa de texto.
- Clique() método é usado para clicar no elemento da web presente na página da web.
- No WebDriver, os elementos da web podem ser localizados usando localizadores dinâmicos.
- A seguir estão os tipos de localizadores disponíveis:
- eu ia
- nome da classe
- nome
- xpath
- cssSelector
- Texto do link
- parcialLinkText
- tagName
Seguindo em frente, no próximo tutorial, mudaríamos nosso foco para uma estrutura que auxilia no teste de automação conhecido como TestNG. Teríamos um estudo detalhado sobre os vários tipos de anotações fornecidas pelo framework.
Próximo tutorial nº 11 : Antes de nos aprofundarmos no Frameworks, veremos detalhes sobre JUnit - uma ferramenta de teste de unidade de código aberto. A maioria dos programadores usa JUnit porque é fácil e não exige muito esforço para testar. Este tutorial fornecerá uma visão geral sobre JUnit e seu uso no script selênio.
Uma observação para os leitores: Enquanto nosso próximo tutorial da série Selenium está no modo de processamento, os leitores podem começar a criar seus próprios scripts WebDriver básicos. Para mais scripts e conceitos avançados, teremos vários outros tutoriais do Selenium WebDriver surgindo nesta série.
Deixe-nos saber nos comentários se você tiver qualquer problema ao criar ou executar os scripts WebDriver.
Leitura recomendada
- Introdução ao Selenium WebDriver - Selenium Tutorial # 8
- Tutorial Cucumber Selenium: Cucumber Java Selenium WebDriver Integration
- Configuração e instalação completas do WebDriver com Eclipse - Selenium Tutorial # 9
- Verifique a visibilidade dos elementos da Web usando vários tipos Comandos do WebDriver - Selenium Tutorial nº 14
- Cenários de solução de problemas e scripts do Selenium eficientes - Tutorial # 27 do Selenium
- Como lidar com alertas / pop-ups no Selenium WebDriver - Tutorial do Selenium nº 16
- Depurando Scripts Selenium com Logs (Tutorial Log4j) - Tutorial Selenium # 26
- Introdução ao JUnit Framework e seu uso no Selenium Script - Selenium Tutorial # 11