Щракнете с десния бутон и Double Кликнете вътре Selenium

⚡ Умно обобщение

Щракнете с десния бутон и Double Кликнете вътре Selenium са автоматизирани действия на мишката чрез класа Actions. Този урок демонстрира и двете операции с работещи Java код, реални тестови сценарии и методите, които ги задвижват вътре Selenium WebDriver.

  • 🖱️ Основен метод: Класът Actions предоставя contextClick() за щракване с десен бутон и doubleClick() за двойно щракване върху произволен WebElement.
  • 🧭 Модел на работен процес: Намерете елемента, създайте инстанции на действията с драйвера, извикайте действието и го изпълнете верижно чрез 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. Кликнете върху OK в предупреждението
  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() за изпълнение.

How to Double Кликнете вътре Selenium

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

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

  • Стартиране: https://demo.guru99.com/test/simple_context_menu.html
  • Double щракнете върху бутона „Double-Кликнете върху мен, за да видите предупреждението
  • Кликнете върху OK в предупреждението

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() изчиства опашката и изпълнява всяко действие в опашката по ред.

Да, JavaScript Executor може да задейства двойно щракване, но заобикаля реалните събития на браузъра. Подходът „Действия“ е препоръчителният. Selenium стандарт.

Да. Щракването с десния бутон и двойното щракване върху „Действия“ работят в Chrome без графичен интерфейс. Firefox при условие че се поддържа W3C Actions API. Selenium 4 драйвера напълно подкрепят това.

Класът „Действия“ пристигна в Selenium WebDriver 2.0 вътре в org.openqa.selenium.interactions и се запазва в Selenium 3 и 4 с поддръжка на W3C Actions.

Инструменти с изкуствен интелект и Selenium алтернативи Прилагайте самовъзстановяващи се локатори, които се адаптират към промените в елементите по време на кликвания, намалявайки нестабилните повреди от динамични идентификатори или променящи се оформления.

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

Обобщете тази публикация с: