Клацніть правою кнопкою миші та Double Натисніть Selenium

⚡ Розумний підсумок

Клацніть правою кнопкою миші та Double Натисніть Selenium – це дії миші, автоматизовані класом Actions. У цьому посібнику демонструються обидві операції з робочими Java код, реальні тестові сценарії та методи, які їх впроваджують Selenium WebDriver.

  • 🖱️ Основний метод: Клас Actions надає contextClick() для клацання правою кнопкою миші та doubleClick() для подвійного клацання на будь-якому WebElement.
  • 🧭 Схема робочого процесу: Знайдіть елемент, створіть екземпляр Actions за допомогою драйвера, викличте дію та об'єднайте perform() для виконання.
  • 🧪 Перевірений сценарій: Обидва приклади спрямовані на demo.guru99.com/test/simple_context_menu.html для отримання перевірених, повторюваних результатів.
  • 🆚 Відмінність дії: Клацання правою кнопкою миші відкриває контекстні меню; подвійне клацання запускає зміни стану, такі як сповіщення або редагування.
  • 🤖 Інтеграція AI: Самовідновлювальні локатори та локатори за допомогою штучного інтелекту Selenium Фреймворки зменшують нестабільність під час кліків.

Клацніть правою кнопкою миші та Double Натисніть Selenium

Клацніть правою кнопкою миші Selenium

Клацніть правою кнопкою миші Selenium WebDriver виконується за допомогою класу Actions. Ця операція також називається Context Click. Попередньо визначений contextClick() Метод класу Actions виконує клацання правою кнопкою миші. Нижче наведено основний синтаксис.

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

Як клацнути правою кнопкою миші Selenium

Наведений нижче сценарій запускає Guru99 демонстраційну сторінку, виконує клацання правою кнопкою миші та вибирає опцію з контекстного меню, що з’явиться.

Тестовий сценарій:

  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 Вивід консолі

Поширені запитання

WebElement.click() викликає лише клацання лівою кнопкою миші. Клацання правою кнопкою миші та подвійне клацання – це складні події миші, які вимагають класу Actions для ланцюжка та відправки через perform().

Так. contextClick() імітує справжній клік правою кнопкою миші та відкриває контекстне меню програми. Ці два терміни використовуються взаємозамінно в Selenium документи.

Клас Actions ставить події в чергу. Без perform() ланцюжок кроків ніколи не відправляється. perform() очищає чергу та виконує кожну дію в черзі по порядку.

Так, JavaВиконавець скриптів може здійснити подвійне клацання, але він ігнорує реальні події браузера. Рекомендується використовувати підхід «Дії». Selenium стандарт

Так. Клік правою кнопкою миші та подвійне клацання через «Дії» працюють у Chrome без графічного інтерфейсу. Firefox за умови підтримки API дій W3C. Selenium 4 драйвери повністю це підтримують.

Клас «Дії» з’явився в Selenium WebDriver 2.0 всередині org.openqa.selenium.interactions та зберігається в Selenium 3 та 4 з підтримкою дій W3C.

Інструменти штучного інтелекту та Selenium альтернативи застосовувати самовідновлювальні локатори, які адаптуються до змін елементів під час кліків, зменшуючи нестабільні збої через динамічні ідентифікатори або зміну макетів.

Так. Помічники ШІ-кодів можуть перетворити сценарій, написаний простою англійською мовою, на Selenium Java or Python код, що використовує contextClick() та doubleClick(), а також пропонує надійні локатори та очікування.

Підсумуйте цей пост за допомогою: