SendKeys em selênio

SendKeys em selênio
Este artigo se concentra no método Sendkeys () em Selenium. É usado para enviar os dados para o navegador e interagir com o campo de entrada do site para realizar um teste de automação. Neste artigo, é implementado um exemplo de formulário de login automatizado que recebe os dados através do método sendkeys (). Para fazer isso, realizamos várias etapas muito importantes e necessárias no Java JDK e Eclipse, utilizando o código da estrutura do Selenium para execução do programa. Antes de escrever o script, tendemos a instalar o Java JDK e o Eclipse, adicione as bibliotecas de frascos de selênio e potes de teste e configurar as dependências junto com os drivers do navegador.

SendKeys em selênio webdriver

Quando trabalhamos com o controle de teste de automação através de potes de selênio, não somos apenas capazes de recuperar os dados dos elementos da Web, mas também capaz de enviar os dados para os elementos da Web. SendKeys () é o método no selênio para enviar os dados como int, char e símbolos no campo de entrada. Os elementos atuais na página da web usados ​​para identificar os elementos para receber os dados são chamados de localizadores como ID do elemento, nome, nome da classe, etc. Os WebDrivers de Selenium são usados ​​para interagir entre as bibliotecas de selênio e os navegadores.

Existem duas etapas fáceis no método sendkeys () para enviar os dados para o navegador:

  1. A primeira etapa é o uso de localizadores para identificar os campos de entrada específicos, como caixa de pesquisa, endereço de e -mail, nome de usuário, senha, etc.
  2. O segundo passo é o método sendkeys ().

Como passar o método de Sesenium sendkeys em forma

Neste tutorial, usamos o formulário de login do site "Swaglabs". Use o método SendKeys () para passar o valor nos campos de entrada "Nome de usuário" e "Senha" e clique automaticamente no botão de login.

Vamos discutir o processo passo a passo para executar o código para o formulário de login.

Etapa 1: Site a ser usado

Considere, para ilustração, uma página de conta de usuário de login localizada em https: // www.Saucedemo.coma.

Um formulário de login com os campos "nome de usuário" e "senha" é mostrado na figura anterior.

Agora, o webdriver deve reconhecê -los para concluir automaticamente os dados nos dois campos. Como discutido anteriormente, os localizadores também podem ser usados ​​para isso. Depois que localizamos as partes necessárias, tudo o que resta a fazer é usar o método sendkeys () para fornecer explicitamente os valores necessários.

Etapa 2: Configure o WebDiverManager

WebDriverManager trabalha como uma API em Selenium. Isso permite automatizar o gerenciamento da compatibilidade de várias versões do Selenium WebDrivers, como Chromedriver, Getkodriver e Firefox. Economiza o tempo não baixando e adicionando as bibliotecas da versão mais recente do WebDrivers.

O script a seguir para configurar o WebDriverManager deve ser usado:

WebDriverManager.cromedriver ().configurar();

Etapa 3: Crie uma aula de vazio público

Nesta etapa, começamos a escrever o código real. Vamos criar a classe vazia e passar no método sendkeys ().

O script a seguir é usado para criar o nome da classe SendKey:

classe pública sendKey

Etapa 4: Configure o webdriver

WebDrivers permite a interação entre selênio e navegador para executar o teste de automação da web ajudando a enviar e receber os dados.

Nesta etapa, configuramos o driver do navegador Chrome através do seguinte script:

WebDriverManager.cromedriver ().configurar();
Chromedriver Driver = new Chromedriver ();

Etapa 5: use get () para abrir a página da web

Nesta etapa, usamos o método get () para abrir o site de URL fornecido no navegador Chrome.

Use o seguinte método de script para fazer isso:

motorista.Get ("https: // www.Saucedemo.com/");

Pode ser visto na figura a seguir que o Chrome é controlado pelo software de teste automatizado.

Etapa 6: Obtenha os campos de entrada

Para obter os campos, precisamos dos localizadores como nome, classe e id. Neste exemplo, o ID do localizador é usado, o que significa encontrar o campo de entrada por id.

Na figura a seguir, o campo de entrada do nome de usuário tem id = nome do usuário .

Na figura a seguir, o campo de entrada de senha possui id = senha .

O método FindElement e de classe são usados ​​para facilitar a localização automática dos IDs no site.

O script a seguir é usado para obter os campos de entrada:

motorista.FindElement (por.id ("nome do usuário")).sendKeys ("padrão_user");
motorista.FindElement (por.id ("senha")).sendKeys ("secret_sauce");

Dessa forma, você pode especificar os elementos para obter os campos de entrada.

Etapa 7: Obtenha o botão de login xpath

Para obter o campo de botão de login, precisamos de um localizador XPath.

Obtenha o XPath do botão seguindo as etapas:

> Site> Inspecionar> Clique com o botão direito do mouse no código do botão> Selecione Copiar> Selecione XPath completo

Nesta etapa, o método do FindElement e por classe são usados ​​para facilitar a localização automática do XPath no local.

> FindElement (por.Xpath)
> Xpath:/html/body/div/div/div [2]/div [1]/div [1]/div/form/entrada

O script a seguir é usado para obter o XPath do login:

motorista.FindElement (por.xpath ("/html/body/div/div/div [2]/div [1]/div [1]/div/form/input"))).clique();

Etapa 8: feche o navegador

Na etapa final, quando a conta de usuário é conectada pelo automatizado SendKeys Value-Scessful, feche o navegador usando o .Função Close ().

Aqui está como você pode usar o método Close ():

motorista.fechar();

Consulte o seguinte código completo e consulte a saída:

Pacote de interface do pacote;
importação org.OpenQa.selênio.Por;
importação org.OpenQa.selênio.cromada.Cromedriver;
importar io.Github.Bonigarcia.WDM.WebDriverManager;
classe pública sendKey
public static void main (string [] args)
WebDriverManager.cromedriver ().configurar();
Chromedriver Driver = new Chromedriver ();
motorista.Get ("https: // www.Saucedemo.com/");
motorista.FindElement (por.id ("nome do usuário")).sendKeys ("padrão_user");
motorista.FindElement (por.id ("senha")).sendKeys ("secret_sauce");
motorista.FindElement (por.xpath ("/html/body/div/div/div [2]/div [1]/div [1]/div/form/input"))).clique();
motorista.fechar();

No exemplo de código anterior, usamos o ID do localizador para encontrar o "nome de usuário" e "senha" usando o.Classe do localizador.

Após a execução do código, os campos de entrada são identificados automaticamente pelos localizadores e, em seguida, preenche os valores automaticamente nesses campos passando os valores -chave através dos SendKeys ().

Depois de receber os valores nos campos de entrada, clique no botão de login recuperando o XPath do botão de login. Finalmente, faça login no formulário com sucesso. O navegador está fechado automaticamente depois que a conta de usuário está conectada.

Agora, você entende como passar o método Selenium SendKeys em forma. Vamos falar sobre uma ilustração diferente, onde demonstramos como usar o método SendKeys () no Selênio Webdriver para fazer upload de um arquivo.

Como fazer upload de um arquivo usando o método sendkeys ()

A técnica mais simples para fazer upload de um arquivo usando o selenium webdriver é o método SendKeys. Três etapas simples são necessárias para isso:

Etapa 1: selecione um botão de arquivo

Na primeira etapa, precisamos selecionar o botão “Escolha o arquivo“. Isso seleciona o arquivo que você deseja enviar. O comando que seleciona um arquivo é fornecido no seguinte:

WebElement uploadmyfile = driver.FindElement (por.id ("Choosemyfile"));

Aqui, você pode ver que pegamos o ID como "Choosemyfile" e isso é para o webElement.

Etapa 2: selecione seu arquivo

Agora, escolha o arquivo do seu computador que você deseja fazer o upload. Dê a localização do arquivo em nosso sistema. O código para escolher o arquivo a ser enviado é fornecido aqui:

uploadMyelement.SendKeys ("C: \\ MyFile1.TXT");

Etapa 3: Faça o upload do seu arquivo

Para fazer o upload do arquivo com sucesso, agora você deve clicar no botão de upload. Você deve executar o código na linha subsequente para realizar isso.

Meu motorista.FindElement (por.id ("uploadMyfile"))).clique();
Fornecemos o seguinte código completo para sua referência:
pacote testcases;
importar java.io.Ioexception;
importação org.OpenQa.selênio.Por;
importação org.OpenQa.selênio.WebDriver;
importação org.OpenQa.selênio.WebElement;
importação org.OpenQa.selênio.cromada.Cromedriver;
importação org.Testng.anotações.Teste;
classe pública UploadMyfile
@Teste
public void myfileUploadtest () lança ioexception
Sistema.setProperty ("WebDriver.cromada.driver "," C: \\ Work \\ Driver.exe");
Webdriver mydriver = new Chromedriver ();
Meu motorista.Get ("https: // mysite.com ");
WebElement uploadmyfile = driver.FindElement (por.id ("Choosemyfile"));
uploadMyfile.SendKeys ("C: \\ MyFile1.TXT");
Meu motorista.FindElement (por.id ("uploadMyfile"))).clique();

No código anterior, você pode ver que os módulos necessários são carregados primeiro. Em seguida, criamos uma aula na qual iniciamos o objeto de motorista. Isso lança o navegador. Depois disso, selecionamos o botão "Escolha o arquivo" e especificamos o caminho do arquivo que queremos fazer upload. Por fim, o arquivo é enviado com sucesso quando clicamos no botão.

Conclusão

Este guia do artigo ilustra o uso do método SendKeys () usando a estrutura de Selenium para passar um nome de usuário e senha para o formulário de login através de uma ferramenta de controle automático. Usando o idioma java, escrevemos o código para definir o driver do navegador, iniciar o driver do navegador e passar as chaves pelo localizador como ID, XPath e fazer login na conta. No final, demonstramos os resultados no navegador que mostram que os sendkeys () passam os valores do campo de entrada através dos IDs. Clique no botão de login automaticamente. Finalmente, feche o navegador. Também explicamos como você pode fazer upload de um arquivo específico usando o método sendkeys (). Este artigo contém todas as informações necessárias para ajudá -lo a começar.