package com.oxagile.project.web.tests.userprofile; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.interactions.Action; import org.openqa.selenium.interactions.Actions; import java.util.concurrent.TimeUnit; public class TestTest { public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "libs/chromedriver"); WebDriver wd = new ChromeDriver(); wd.manage().window().maximize(); wd.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); wd.get("https://react-avatar-editor.netlify.com/"); WebElement canvas = wd.findElement(By.cssSelector("canvas.editor-canvas")); Actions builder = new Actions(wd); Action dragAndDrop = builder .moveToElement(canvas, 10, 10) .pause(2000) .clickAndHold() .pause(2000) .moveToElement(canvas, 100, 100) .pause(2000) .release() .build(); dragAndDrop.perform(); wd.quit(); } }
#1
Отправлено 03 мая 2019 - 21:08
#2
Отправлено 04 мая 2019 - 06:44
Добавление элемента в сигнатуру методов clickAndHold() и release() решило проблему в хроме. В таком случае метод moveToElement(canvas, 0, 0) становится лишним, так как clickAndHold(canvas) все равно кликает в центр элемента. Вот работающая цепочка:
builder .clickAndHold(canvas) .moveByOffset(100, 100) .release(canvas) .build() .perform();
Но тогда появляется проблема в Firefox:
clickAndHold(canvas).moveByOffset(100, 100) - перетаскивает элемент как мне нужно, но затем release(canvas) метод возвращает картинку практически в начальное положение.
То есть в теории я бы все таки ожидал, что начальная цепочка должна отрабатывать в хроме:
builder .moveToElement(canvas, 0, 0) .clickAndHold() .moveToElement(canvas, 100, 100) //или .moveByOffset(100, 100) .release() .build() .perform();
Может быть кто-то сможет посоветовать вариант, который отработает в обоих браузерах?
Темы с аналогичным тегами selenium
Тестирование →
Автоматизированное тестирование →
Логин на сайт не работает через selenium, но не в браузереАвтор Trololo, 13 фев 2024 selenium, selenoid |
|
|||
Тестирование →
Автоматизированное тестирование →
Selenium - Functional Testing →
Передача результата функции с параметром request в фикстуру (pytest)Автор Kristall89, 03 фев 2024 selenium, webdriver, python и 2 еще... |
|
|||
Тестирование →
Автоматизированное тестирование →
Selenium - Functional Testing →
Какую версию Java поддерживает Selenium WebDriver?Автор Ksenia, 28 апр 2023 Selenium, Java |
|
|||
Тестирование →
Автоматизированное тестирование →
Selenium - Functional Testing →
Передать текст в инпутыАвтор vladid, 07 апр 2023 python, selenium |
|
|||
Тестирование →
Автоматизированное тестирование →
Нужно залогиниться на сайте в админ панели с помощью seleniumАвтор Gruzin, 06 мар 2023 selenium |
|
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных