Arraste e solte com selênio

Arraste e solte com selênio
O selênio oferece várias funcionalidades para os usuários e um deles é arrastar e soltar. Neste artigo, tentaremos entender a funcionalidade de arrastar e soltar do driver da web de selênio, também entenderemos como usá -lo e onde fazer isso. Se você é novo nesse conceito, este artigo contém todas as informações que você precisa para começar.

Qual é o método draganddrop no selênio?

O selênio é usado para avaliar aplicativos da Web em uma variedade de sistemas operacionais e navegadores. Numerosas linguagens de codificação podem ser usadas para criar scripts de teste de selênio. Estes incluem java, python, c#e outros. O processo de mover um arquivo de uma pasta para outra em qualquer tipo de navegador da web (Firefox, Google Chrome, Windows Explorer, Opera, etc.) com a ajuda do método de arrastar e soltar é realizado com um mouse. Quando um usuário arrasta (move) um elemento da web de um ponto e, posteriormente.

Alguns aplicativos da Web podem automatizar a prática de arrastar e soltar objetos da Web. Por exemplo, movendo -os de uma extremidade para outra, deixando -os em um ponto ou elemento específico através do Selenium Web Driver. O driver da web de selênio pode ser usado para controlar as operações de arrastar e soltar de tais itens.

Através dessa funcionalidade do driver da Web de Selenium, os desenvolvedores da Web podem transferir facilmente dados ou qualquer tipo de documento através do método de arrastar e soltar. Também obteremos uma compreensão de todo o processo através da codificação e de algumas das ilustrações da imagem

Aqui está um diagrama simples para entender o método de arrastar e soltar.

Métodos de arrastar e soltar vários elementos no selênio:

Existem vários métodos de arrastar e soltar vários elementos no selênio. Aqui vamos discutir alguns deles.

  • No cenário do primeiro caso, draganddrop (fonte, destino).construir().executar();
  • No segundo cenário, agimos de cliques e de). Construir().executar(); agir.
  • No terceiro cenário, agimos draganddropby (fonte, xoffset, yoffset).executar();

Ao usar alguns desses cenários, podemos dravar vários elementos em selênio.

A diferença entre draganddrop () e draganddropby ()

A única diferença entre draganddrop () e draganddropby () é que, na função draganddropby (), o cursor é movido para o webElement de destino por um deslocamento. Considerando que, no método draganddrop (), o ponteiro é movido diretamente para o webElement.

A diferença entre arrasto e solteira e classe de ação

O selênio fornece ação.Draganddrop Class para mover itens de uma extremidade para outra.

A ação Make Class, por outro lado, usa as coordenadas do elemento para mover um elemento de uma extremidade para a outra.

Qual é a sintaxe para o método de arrastar e soltar no selênio?

Usaremos a seguinte sintaxe para o método de arrastar e soltar:

Ações.Draganddrop (Sourcelocator, DestinationLocator)

Então, aqui, veremos como passar esses dois parâmetros através do método de arrastar e soltar.

  1. Sourcelocater, o elemento é o primeiro parâmetro que estaremos arrastando
  2. O elemento "DestinationLocator" é o segundo parâmetro no qual o primeiro elemento deve ser descartado.

A sintaxe que usaremos é dada abaixo:

Ações.Draganddropby (Sourcelocator, pixel de eixo x de destinoLocator, pixel do eixo y do DestinationLocator)

Exemplo 1:

Aqui, vamos mostrar um sistema de pedidos de pizza no qual falaremos sobre a estratégia de arrastar e soltar. Você pode ver a figura a seguir primeiro e depois passar para o código.

Vamos tentar entender o método de arrastar e soltar no selênio da figura acima.

O elemento da conta é arrastado e o elemento da conta é descartado no lado específico pelo método de arrastar e soltar.

Abaixo, fornecemos o trecho de código completo ao qual você pode consultar um entendimento claro.

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.OpenQa.selênio.interações.Ações;
importação org.Testng.anotações.Teste;
classe pública draganddrop
Driver da webdriver;
@Teste
public void dragndrop ()

Sistema.setProperty ("WebDriver.cromada.driver "," E: // Selênio // Selenium_jars // Chromedriver.exe");
ddriver = new Chromedriver ();
Ddriver.Get ("http: // Demo.WebboxZone.com/teste/drag_drop.html ");
WebElement de = ddriver.FindElement (por.xpath ("//*nid = lbill1/a"));
WebElement para = ddriver.FindElement (por.xpath ("//*nid = 'orderl/li"));
Ações Act1 = novas ações (ddriver);
ato 1.draganddrop (de, para).construir().executar();

Na seção a seguir, demos uma explicação adequada do código acima para que você possa entender melhor.

Executamos o código acima no navegador Chrome e depois arrastamos o elemento da conta. E solte -o na área de colocação de contador de caixa e pedidos através do método de arrastar e soltar. Vamos entender a linha de código por linha.

Na primeira seção, carregamos as bibliotecas necessárias. Depois disso, um arrasto de classe é criado. Então, iniciamos o navegador e abrimos a página da web.

Veja a seguinte parte do código. Aqui, começamos capturando o primeiro elemento que precisamos arrastar para a variável “de.”Como você pode ver, direcionamos o elemento.

WebElement
De = ddriver.FindElement (por.xpath (“//*[@id = 'bill']/a”));

Esta seção do código arrastará a conta de identificação para a seção de pagamento.

Depois disso, alvejamos o segundo elemento que deve soltar o primeiro elemento na variável chamada "para". O código é dado aqui. Isso diminuirá a “fatura” da identidade no ID do elemento “Ordem” na seção de pagamento.

WebElement para = ddriver.FindElement (por.xpath ("//*[@id = 'order']/li"));

O código "Ações Builder = Novas Ações (Driver);" criará um objeto da classe de ações para criar ações compostas. A última linha do código de amostra executará a função de arrastar e soltar.

Exemplo # 2:

Neste programa de exemplo, usaremos o jQueryui.com site para explicar o método de arrastar e soltar.

Acima está a interface que estamos usando. Vamos arrastar a caixa chamada “Drague -me para o meu alvo“ para a caixa chamada “Drop aqui.”A codificação do selanium webdriver será usada para fazer isso.

Agora, vamos entender como executar o seguinte código:

WebDriverManager.cromedriver ().configurar();
Cromedriver ddriver = new Chromedriver ();
Ddriver.get ("https: // jqueryui.com/droppable/");
Ddriver.gerenciar().janela().maximizar();
WebElement Frame1 = Driver.FindElement (por.xpoth ("//*[@id = rcontentr]/iframe")); motorista.troque para().quadro (quadro1);
WebElement drag_me = ddriver.FindElement (por.id ("draggable"));
WebElement drop_me = ddriver.FindElement (por.id ("droppable"));
Ações Ação1 = Novas Ações (DDriver);
ação1.draganddrop (drag_me, drop_me).executar();

Agora, neste arrasto e soltar os dois argumentos do método são transmitidos: um é o arrasto do webelement e o outro é uma queda de webelement.

A seguinte linha do código terá como alvo o ID do elemento chamado "Draggable" para arrastá -lo de lá.

WebElement drag_me = ddriver.FindElement (por.id ("draggable"));

Nesta linha seguinte de código, direcionamos o ID do elemento chamado "droppable" para soltar o primeiro elemento que.

WebElement drop_me = ddriver.FindElement (por.id ("droppable"));

Quando executamos essas linhas de código, a primeira foto chamada "Drag -me para o meu alvo" mova -se para a caixa "Drop aqui".

Então, depois de escrever a linha de código acima, temos esta imagem.

Conclusão

Este artigo foi sobre o método de arrastar e soltar em Selenium. Em primeiro lugar, temos que mencionar o que exatamente o método de arrastar e soltar. Depois disso, ajudamos você a entender o método de arrastar e cair em dois exemplos adequados. Portanto, nesses exemplos (mencionados acima), usamos os métodos de ação do driver da web e demonstramos a capacidade de arrastar e soltar o aplicativo da Web de Selenium. Para arrastar e soltar o elemento, estamos usando a função Drag and Stop da classe Ações. Esses parâmetros são Sourcelocator e DestinationLocator. Entendemos o procedimento de arrastar e soltar usando os pixels do eixo azulador, e eixo x do y do DestinationLocator.