Selenium WebDriver позволяет выполнять “Drag-And-Drop” действия используя класс Actions. Класс Actions поддерживает выполнение различных пользовательских дейтсвий, таких как автоматизация событий работы с мышкой и клавиатурой. В следующем примере мы рассмотрим пример использования класса Actions для автоматизации операции drag-and-drop.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
@Test public void DragAndDropTest() { driver.get("http://dl.dropbox.com/u/55228056/DragDropDemo.html"); WebElement target = driver.findElement(By.id("droppable")); WebElement source = driver.findElement(By.id("draggable")); Actions builder = new Actions(driver); builder.dragAndDrop(source, target).perform(); try { assertEquals("Dropped!", target.getText()); } catch (Error e) { verificationErrors.append(e.toString()); } } |
Можно увидеть, что сначала нужно найти элемент, который будем перетаскивать, а потом саму область для перетаскивания. После этого эти элементы передаются в метод dragAndDrop() класса Actions. Для вызова этого метода нужно создать обьект класса Actions следующим образом:
1 |
Actions builder = new Actions(driver); |
Дальше мы вызываем метод dragAndDrop() следующим путем:
1 |
builder.dragAndDrop(source, target).perform(); |