Selenio: trascina e rilascia
In qualità di tester, potresti trovarti nella situazione di eseguire un'operazione di "Drag & drop". Eseguiremo un'operazione di trascinamento della selezione selezionando una griglia ad albero disponibile per noi suhttp://www.keenthemes.com/preview/metronic/templates/admin/ui_tree.html. Nell'esempio, vorremmo trascinare un elemento "Disabilita nodo" dalla cartella "inizialmente aperto" alla cartella "Nodo padre".
Esempio
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.interactions.Action;
public class webdriverdemo {
public static void main(String[] args) throws InterruptedException {
WebDriver driver = new FirefoxDriver();
//Puts a Implicit wait, Will wait for 10 seconds before throwing exception
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
// Launch website
driver.navigate().to("http://www.keenthemes.com/preview/metronic/templates/admin/ui_tree.html");
driver.manage().window().maximize();
WebElement From = driver.findElement(By.xpath(".//*[@id='j3_7']/a"));
WebElement To = driver.findElement(By.xpath(".//*[@id='j3_1']/a"));
Actions builder = new Actions(driver);
Action dragAndDrop = builder.clickAndHold(From).moveToElement(To).release(To).build();
dragAndDrop.perform();
driver.close();
}
}
Produzione
Dopo aver eseguito l'operazione di trascinamento, l'output sarà come mostrato di seguito.