Щелкните правой кнопкой мыши и Double Нажмите в Selenium

⚡ Умное резюме

Щелкните правой кнопкой мыши и Double Нажмите в Selenium Действия мыши автоматизируются с помощью класса Actions. В этом руководстве показаны обе операции с рабочим интерфейсом. Java код, реальные сценарии тестирования и методы, которые ими управляют Selenium ВебДрайвер.

  • 🇧🇷 Основной метод: Класс Actions предоставляет методы contextClick() для щелчка правой кнопкой мыши и doubleClick() для двойного щелчка по любому элементу WebElement.
  • 🧭 Шаблон рабочего процесса: Найдите элемент, создайте экземпляры Actions с помощью драйвера, вызовите действие и используйте цепочку perform() для его выполнения.
  • 🧪 Протестированный сценарий: Оба примера ориентированы на страницу demo.guru99.com/test/simple_context_menu.html для получения проверенных и воспроизводимых результатов.
  • 🆚 Отличительные черты деятельности: Щелчок правой кнопкой мыши открывает контекстные меню; двойной щелчок запускает изменения состояния, такие как оповещения или редактирование.
  • 🤖 Интеграция ИИ: Самовосстанавливающиеся локаторы и системы с поддержкой ИИ Selenium Фреймворки уменьшают нестабильность при выполнении действий по клику.

Щелкните правой кнопкой мыши и Double Нажмите в Selenium

Щелкните правой кнопкой мыши Selenium

Действие щелчка правой кнопкой мыши в Selenium WebDriver реализуется с помощью класса Actions. Эта операция также называется контекстным щелчком. Предопределенные contextClick() Метод класса Actions выполняет щелчок правой кнопкой мыши. Ниже приведен базовый синтаксис.

Actions actions = new Actions(driver);
WebElement elementLocator = driver.findElement(By.id("ID"));
actions.contextClick(elementLocator).perform();

Как щелкнуть правой кнопкой мыши Selenium

Описанный ниже сценарий запускает GuruНа демонстрационной странице (99) выполняется щелчок правой кнопкой мыши и выбирается пункт из появившегося контекстного меню.

Сценарий тестирования:

  1. Запуск: https://demo.guru99.com/test/simple_context_menu.html
  2. Щелкните правой кнопкой мыши по кнопке «Щелкните правой кнопкой мыши по мне».
  3. Нажмите на ссылку «Редактировать» в появившемся меню.
  4. Нажмите кнопку ОК в предупреждении.
  5. Закройте браузер

Code:

package test;
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.interactions.Actions;

public class ContextClick {
    public static void main(String[] args) throws InterruptedException {
        WebDriver driver;
        System.setProperty("webdriver.chrome.driver", "X://chromedriver.exe");
        driver = new ChromeDriver();

        driver.get("https://demo.guru99.com/test/simple_context_menu.html");
        driver.manage().window().maximize();

        Actions action = new Actions(driver);
        WebElement link = driver.findElement(By.cssSelector(".context-menu-one"));
        action.contextClick(link).perform();

        WebElement element = driver.findElement(By.cssSelector(".context-menu-icon-copy"));
        element.click();
    }
}

Результат: Появляется контекстное меню, и выбирается пункт «Редактировать».

Щелкните правой кнопкой мыши Selenium

Double Нажмите в Selenium

Следуя той же схеме, основанной на действиях, Double Нажмите в Selenium WebDriver использует предопределенные doubleClick() метод. Класс Actions является стандартным вспомогательным классом для составных операций мыши и клавиатуры, таких как щелчок правой кнопкой мыши, перетаскивание и наведение курсора.

Actions actions = new Actions(driver);
WebElement elementLocator = driver.findElement(By.id("ID"));
actions.doubleClick(elementLocator).perform();

Последовательность выполнения следующая:

  • Создайте экземпляр объекта Actions, используя экземпляр драйвера.
  • Найдите целевой элемент с помощью findElement.
  • Позвонить doubleClick() и цепь perform() выполнить.

КАК Double Нажмите в Selenium

Следующий сценарий демонстрирует двойной щелчок, который запускает JavaСкрипт выдает предупреждение и подтверждает его программно.

Сценарий тестирования:

Code:

package test;
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.interactions.Actions;
import org.openqa.selenium.Alert;

public class DoubleClickDemo {
    public static void main(String[] args) throws InterruptedException {
        WebDriver driver;
        System.setProperty("webdriver.chrome.driver", "X://chromedriver.exe");
        driver = new ChromeDriver();

        driver.get("https://demo.guru99.com/test/simple_context_menu.html");
        driver.manage().window().maximize();

        Actions action = new Actions(driver);
        WebElement link = driver.findElement(By.xpath("//button[text()='Double-Click Me To See Alert']"));
        action.doubleClick(link).perform();

        Alert alert = driver.switchTo().alert();
        System.out.println("Alert Text\n" + alert.getText());
        alert.accept();
    }
}

Результат: Всплывающее окно с предупреждением и выведенный на экран текст предупреждения Eclipse приставка.

Double Нажмите в Selenium бдительный

Double Нажмите на вывод консоли

Часто задаваемые вопросы (FAQ)

Метод WebElement.click() генерирует только щелчок левой кнопкой мыши. Щелчок правой кнопкой мыши и двойной щелчок — это составные события мыши, для обработки которых требуется цепочка событий класса Actions с помощью метода perform().

Да. Функция contextClick() имитирует реальный щелчок правой кнопкой мыши и открывает контекстное меню приложения. Эти два термина используются взаимозаменяемо. Selenium Docs.

Класс Actions ставит события в очередь. Без метода perform() цепочка шагов никогда не будет выполнена. Метод perform() очищает очередь и выполняет каждое действие из очереди по порядку.

Да, JavaScript Executor может инициировать двойной щелчок, но при этом обходит реальные события браузера. Рекомендуется использовать подход с Actions. Selenium стандарт.

Да. Правая кнопка мыши и двойной щелчок через Actions работают в безголовом Chrome. Firefox при условии поддержки API W3C Actions. Selenium 4 драйвера полностью поддерживают это.

Класс «Действия» прибыл в Selenium WebDriver 2.0 находится внутри org.openqa.selenium.interactions и сохраняется в Selenium 3 и 4 с поддержкой W3C Actions.

инструменты искусственного интеллекта и Selenium альтернативы Применять самовосстанавливающиеся локаторы, которые адаптируются к изменениям элементов во время кликов, уменьшая количество сбоев, вызванных динамическими идентификаторами или изменением макета.

Да. Искусственный интеллект, помогающий программировать код, может преобразовать простой, понятный язык в... Selenium Java or Python Используйте код с функциями contextClick() и doubleClick(), а также предложите надежные локаторы и механизмы ожидания.

Подведем итог этой публикации следующим образом: