O que é Action Class no Selenium e seus aplicativos?

Publicados: 2021-05-19

A classe de ação no Selenium é um recurso interno oferecido pelo selenium para gerenciar eventos de teclado e mouse. Ele pode gerenciar várias operações e eventos, como tecla de controle, arrastar e soltar e muito mais. As operações da Action Class são implementadas usando o recurso avançado da API de interação do usuário do Selenium Webdriver.

Índice

Eventos de teclado e mouse comumente usados

Eventos especiais de teclado e mouse são tratados usando a API Advanced User Interactions. Essa API contém a classe Action e Actions que são necessárias durante a execução desses eventos. Abaixo estão os eventos de teclado e mouse comumente usados ​​fornecidos na classe Action.

Método Descrição
Clique e segure() Para clicar sem soltar no local atual do mouse.
clique de contexto() Executa um clique de contexto (ação de clique com o botão direito do mouse) no local atual do mouse
Duplo click() Executa uma ação de clique duplo no local atual do mouse
arrastar e soltar (origem, destino) Executa a operação de clicar e segurar no local do elemento de origem e, em seguida, move-se para o local do elemento de destino e libera o mouse.

Parâmetros:

source-element para emular eventos de botão.

Elemento-alvo para mover e soltar o mouse

dragAnd DropBy(fonte, deslocamento x, deslocamento y) Executa clicar e segurar no local do elemento de origem, move-se por um deslocamento especificado e, em seguida, libera o mouse.

Parâmetros:

source-element para emular eventos de botão.

xOffset- para especificar o deslocamento horizontal.

yOffset- para especificar o deslocamento vertical.

keyDown(modifier_key) Executa o evento de pressionamento de tecla modificador. Não libera a tecla modificadora com interações subsequentes supondo que ela esteja pressionada.

Parâmetros:

modifier_key para representar qualquer uma das teclas modificadoras, como Keys.SHIFT, Keys.ALT ou Keys.CONTROL.

key Up(modifier_key) Executa uma liberação de tecla.

Parâmetros:

modifier_key para representar qualquer uma das teclas modificadoras, como Keys.SHIFT, Keys.ALT ou Keys.CONTROL.

moveByOffset(x-offset, y-offset) Move o mouse da posição atual pelo deslocamento especificado.

Parâmetros:

x-offset para especificar o deslocamento horizontal. Um valor negativo significa que o mouse está se movendo para a esquerda.

y-offset para especificar o deslocamento vertical. Um valor negativo significa que o mouse está se movendo para baixo.

moveToElement(toElement) Move o mouse do meio para o meio do elemento.

Parâmetros:

elemento para representar o elemento para o qual mover.

liberação() Libera o botão esquerdo do mouse pressionado no local atual do mouse.
sendKeys(onElement, charsequence) Envia uma série de pressionamentos de tecla para o elemento.

Parâmetros:

Elemento para representar o elemento que receberá as teclas, geralmente um campo de texto.

Sequência de caracteres - qualquer valor de string para representar a sequência de pressionamentos de tecla que é enviada.

Exemplos de Aplicação da Classe de Ação Selênio

1. Importar Ação e a classe Ação .

import org.open a.selenium.interactions.Action;

import org.open a.selenium.interactions.Actions;

2. Instancie um novo objeto Actions

Construtor de ações = new Actions(driver);

3. Instancie uma ação usando o objeto Action na etapa anterior

Ação mouseOverHome = construtor

.moveToElement(link_Home)

.Construir();

Aqui, estamos usando o método moveToElement() para passar o mouse sobre o link Home. O build() é sempre o método final para garantir que todas as ações sejam compiladas em uma única etapa.

4. Use o método perform enquanto executa o objeto Action que declaramos na etapa anterior.

Sintaxe:

mouseOverHome.perform();

Exemplo 2:

Vamos dar outro exemplo onde a classe Action é usada para implementar o recurso Autocomplete da caixa de texto.

Para fazer isso manualmente, pressionamos a tecla shift, digitamos o texto que deve ser digitado em letras maiúsculas e soltamos a tecla shift. Coloque, Shift + teclas alfabéticas são pressionadas juntas.

Para imitar a mesma operação por meio de script de automação, é utilizado o método Actions Class.

1. Pacote de Importação

As classes Action e Actions existem no pacote org.openqa.selenium.interactions da API do Web Driver. Para usá-los, você deve importar pacotes:

org.openqa.selenium.interactions.Action;

org.openqa.selenium.interactions.Ações;

2. Instancie a classe Action

Ajudaria se você criasse um objeto da classe Actions para invocar seus métodos. Assim, instanciamos a classe Actions e usamos o objeto WebDriver para iniciar a classe. A sintaxe é:

Actions actions = new Actions (objeto webdriver);

3. Gere uma sequência de ações

Neste exemplo, a sequência de etapas para executar várias ações é:

  • Pressione a tecla Shift
  • Envie o texto desejado
  • Solte a tecla Shift

Para realizar essas ações, a classe Action possui métodos como:

  • keyDown para pressionar a tecla Shift.
  • método sendKeys para enviar o texto desejado.
  • O método keyUp libera a tecla Shift.
  • O keyDown atua como uma tecla modificadora pressionada para focar em um elemento enquanto o método keyUp libera uma tecla modificadora pressionada.

Uma tecla modificadora altera a ação de outra tecla quando ambas as teclas são pressionadas simultaneamente. Por exemplo, Shift, Alt e Ctrl.

Uma sequência de ações é gerada, mas essas ações são executadas em um webElement. Os passos para isso são:

Elemento WebElement = driver.findElement;

actions.keyDown(elemento, Teclas, Shift);

action.sendKeys(“TexttoBeConvertAndSendInUpperCase);

actions.keyUp(Keys.Shift);

O importante a observar aqui é que se você passar o mouse sobre qualquer método da classe Action, um objeto da classe Actions será retornado.

4. Construa a sequência de ações

Você pode construir a sequência de ações através do método build() da classe Actions. Este método gera todo o conjunto de ações que estão prontas para serem executadas. A sintaxe é:

Ação ação = actions.build();

O método build() retorna um objeto do tipo Action que representa uma ação composta criada a partir de uma sequência de várias ações invocadas por chamadas de método.

5. Execute sequências de ação

A última etapa na execução da classe Action é executar a sequência de ações por meio do método perform() da interface Action. A sintaxe é:

ação.perform();

As etapas fornecidas acima devem ser executadas para alavancar todos os métodos da classe Actions e executar diferentes ações do usuário usando o teclado e o mouse.

Aprenda cursos de desenvolvimento de software online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.

Qual o proximo?

Se você estiver interessado em aprender mais sobre o desenvolvimento de software Full-Stack, confira o Programa PG Executivo Full-stack Software Development do upGrad & IIIT-B, projetado para profissionais que trabalham e oferece mais de 500 horas de treinamento rigoroso, mais de 9 projetos e atribuições, status de ex-alunos do IIIT-B, projetos práticos práticos e assistência de trabalho com as principais empresas.

O que é classe de ação no Selenium?

Uma classe de ação é uma classe que descreve uma ação, ou uma série de ações, que você pode executar em um elemento da web. Identificamos os elementos nos quais queremos realizar ações por localizadores. As classes de ação são definidas pela combinação de dois caracteres de um modificador de nível de classe estático público e um sufixo de ação (ou seja, Action, KeyAction, PageAction, etc.). O modificador estático público nos permite expor a classe como uma classe que pode ser instanciada. O sufixo Action denota o tipo de ação que está sendo executada. A classe de sufixo Action também é parametrizada. O parâmetro é o nome do elemento da ação. Por exemplo, se quisermos realizar uma ação em um campo de texto, usaríamos o parâmetro textfield.

Quais são os usos do Selênio?

Selenium é uma ferramenta de teste de software portátil muito poderosa (ferramenta de teste de software selenium), que é usada para gravar e reproduzir as ações do usuário em uma página da web. Ele é usado para testar os requisitos funcionais e não funcionais de um aplicativo da Web em qualquer navegador da Web. Ele é implementado em Java e tem uma API muito simples. Ele suporta testes de aplicativos da Web em todos os principais navegadores da Web, como Firefox, Chrome, Internet Explorer, Safari etc.

Como aprender selênio em Java?

O Selenium é uma ferramenta que permite escrever testes automatizados em várias linguagens de programação. Os testes são escritos usando driver web. Você pode usá-lo para testar seu aplicativo da Web com base nas seguintes linguagens de programação: Java, C#, Python e PHP. Na verdade, muitos desenvolvedores acham que não é tão necessário aprender a API Java do Selenium. O Selenium WebDriver é a escolha certa para encontrar elementos na página e realizar ações com eles. É possível implementar testes em muitas linguagens de programação, mas se você precisar escrever testes em Java, o Selenium WebDriver é a melhor escolha. Outro método para aprender Selenium em Java é usar o Selenium IDE, também conhecido como Selenium RC. O suporte de navegadores para esta ferramenta não é tão bom quanto sabemos, apenas Firefox e Chrome são suportados. Mas, o IDE pode ajudá-lo a projetar e executar rapidamente casos de teste do Selenium, gravar e reproduzir casos de teste, gerar casos de teste automaticamente, etc.