#java #selenium #try-catch #action #pom.xml
#java #selenium #попробуйте-поймайте #Экшен #pom.xml
Вопрос:
Основная проблема заключается в том, что мы пытаемся обновить наш POM
, чтобы использовать версию 3.141.59 Selenium
. Во время нашего обновления мы заметили, что у нас есть несколько ошибок с Actions
. После прочтения документации мы обнаружили, что:
«импортируйте org.openqa.selenium.interactions.Действия;» устарел и заменен на «импорт org.openqa.selenium.interactions.Действие».
Мы хотим сохранить то же поведение и обновить наш код для работы с новым импортом. Мы не видели никакой новой документации о том, как на самом деле это использовать. Ниже приведен пример того, как мы использовали старые действия.
try {
Actions actions = new Actions(driver);
actions.moveToElement(searchDocument);
actions.sendKeys(PDF);
Thread.sleep(1000);
actions.build().perform();
} catch(Exception e) {
}
Я смог найти эту заметку в журналах изменений на Selenium:
Исходный API Actions устарел в пользу подхода W3C.
Комментарии:
1.
package org.openqa.selenium.interactions; /** * Interface representing a single user-interaction action. * */ public interface Action { void perform(); }
это все, что я вижу в интерфейсе действий.2. Я видел документацию о том, о чем вы говорите. Проблема, с которой я столкнулся, заключается в реализации новых взаимодействий.
Ответ №1:
Вот простой пример, если это полезно.
Actions actions = new Actions(driver);
// create the mouserover action
Action mouseOverOnElement = actions.moveToElement(linkMenu).build();
// get the back ground color before mouse over
String bgColor = linkMenu.getCssValue("background-color");
System.out.println("Before hover: " bgColor);
// perform the mouseover operation
mouseOverOnElement.perform();
// get the back ground color after mouse over
bgColor = linkMenu.getCssValue("background-color");
System.out.println("After hover: " bgColor);
Документ Selenium:https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/Action.html
Комментарии:
1.
Actions actions = new Actions(driver);
не работает, выдает ошибку.2. Я могу использовать это без проблем с последней версией selenium 3.141.59. Вот моя зависимость от maven
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.141.59</version> </dependency>
3. Да, это говорит мне, что мне нужно изменить
Actions
наAction
, и я вызываю зависимость selenium так же, как и вы. Я не понимаю, почему это будет работать у вас.4. Я смог найти это в журналах изменений «Исходный API Actions устарел в пользу подхода W3C», знаете ли вы, как это вообще использовать?
5. Я смог это сделать, и мы обнаружили, что это была версия Appium. Если вы обновите Selenium до самой новой, вам понадобится Appium 7.0.0, который мы используем. Спасибо за вашу помощь.
Ответ №2:
Как предложил @Tyler в комментарии, у меня это работает: я смог это сделать, и мы обнаружили, что это была версия Appium. Если вы обновите Selenium до самой новой, вам понадобится Appium 7.0.0, который мы используем.
Обновите версию Appium также 7.0.