Klicken Sie mit der rechten Maustaste und Double Klicken Sie in Selenium

โšก Intelligente Zusammenfassung

Klicken Sie mit der rechten Maustaste und Double Klicken Sie in Selenium Mausaktionen werden mithilfe der Actions-Klasse automatisiert. Dieses Tutorial demonstriert beide Operationen anhand funktionierender Beispiele. Java Code, reale Testszenarien und die Methoden, die sie steuern, im Inneren Selenium WebDriver.

  • ๐Ÿ–ฑ๏ธ Kernmethode: Die Actions-Klasse stellt contextClick() fรผr einen Rechtsklick und doubleClick() fรผr einen Doppelklick auf ein beliebiges WebElement bereit.
  • ๐Ÿงญ Workflow-Muster: Das Element lokalisieren, Aktionen mit dem Treiber instanziieren, die Aktion aufrufen und perform() verketten, um sie auszufรผhren.
  • ๐Ÿงช Getestetes Szenario: Beide Beispiele verwenden demo.guru99.com/test/simple_context_menu.html, um verifizierte und reproduzierbare Ergebnisse zu erzielen.
  • ๐Ÿ†š Auszeichnung fรผr besondere Leistungen: Ein Rechtsklick รถffnet Kontextmenรผs; ein Doppelklick lรถst Statusรคnderungen wie Benachrichtigungen oder Bearbeitungen aus.
  • ๐Ÿค– KI-Integration: Selbstheilende Ortungsgerรคte und KI-gestรผtzte Selenium Frameworks reduzieren die Instabilitรคt bei Klickaktionen.

Klicken Sie mit der rechten Maustaste und Double Klicken Sie in Selenium

Klicken Sie mit der rechten Maustaste hinein Selenium

Klicken Sie mit der rechten Maustaste auf die Aktion Selenium WebDriver verwendet die Actions-Klasse. Der Vorgang wird auch Kontextklick genannt. contextClick() Die Methode der Actions-Klasse fรผhrt einen Rechtsklick aus. Nachfolgend die grundlegende Syntax.

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

So klicken Sie mit der rechten Maustaste hinein Selenium

Das folgende Szenario startet eine Guru99 Demoseite, fรผhrt einen Rechtsklick aus und wรคhlt eine Option aus dem daraufhin erscheinenden Kontextmenรผ aus.

Testszenario:

  1. Starten: https://demo.guru99.com/test/simple_context_menu.html
  2. Klicken Sie mit der rechten Maustaste auf die Schaltflรคche โ€žRechtsklick auf michโ€œ.
  3. Klicken Sie im angezeigten Menรผ auf den Link โ€žBearbeitenโ€œ.
  4. Klicken Sie in der Warnmeldung auf OK.
  5. SchlieรŸen Sie den Browser

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();
    }
}

Ergebnis: Das Kontextmenรผ erscheint und die Option โ€žBearbeitenโ€œ wird ausgewรคhlt.

Klicken Sie mit der rechten Maustaste hinein Selenium

Double Klicken Sie in Selenium

Nach demselben aktionsbasierten Muster, Double Klicken Sie in Selenium WebDriver verwendet die vordefinierten doubleClick() Die Actions-Klasse ist die Standardhilfsklasse fรผr zusammengesetzte Maus- und Tastaturoperationen wie Rechtsklick, Ziehen und Ablegen sowie Hovern.

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

Der Ausfรผhrungsablauf ist wie folgt:

  • Instanziieren Sie ein Actions-Objekt mithilfe der Treiberinstanz.
  • Suchen Sie das Zielelement mit findElement.
  • Telefon doubleClick() und Kette perform() ausfรผhren.

So erreichen Double Klicken Sie in Selenium

Das nรคchste Szenario veranschaulicht einen vollstรคndigen Doppelklick, der Folgendes auslรถst: JavaDas Skript gibt eine Warnung aus und bestรคtigt diese programmatisch.

Testszenario:

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();
    }
}

Ergebnis: Es erscheint eine Warnmeldung und der Warntext wird ausgedruckt. Eclipse Konsole.

Double Klicken Sie in Selenium alarmieren

Double Klicken Sie auf die Konsolenausgabe

Hรคufig gestellte Fragen

WebElement.click() lรถst nur einen Linksklick aus. Rechtsklick und Doppelklick sind zusammengesetzte Mausereignisse, die die Actions-Klasse erfordern, um sie zu verketten und รผber perform() auszulรถsen.

Ja. `contextClick()` simuliert einen echten Rechtsklick und รถffnet das Kontextmenรผ der Anwendung. Die beiden Begriffe werden synonym verwendet. Selenium docs.

Die Klasse `Actions` speichert Ereignisse in einer Warteschlange. Ohne `perform()` werden die verketteten Schritte nie ausgefรผhrt. `perform()` leert die Warteschlange und fรผhrt jede Aktion der Reihe nach aus.

Ja, JavaDer Skriptausfรผhrer kann zwar einen Doppelklick auslรถsen, umgeht dabei aber echte Browserereignisse. Die Vorgehensweise mit Aktionen wird empfohlen. Selenium

Ja. Rechtsklick und Doppelklick รผber die Aktionen-Funktion funktionieren in der Headless-Version von Chrome. Firefox vorausgesetzt, die W3C Actions API wird unterstรผtzt. Selenium 4 Treiber unterstรผtzen dies vollstรคndig.

Die Klasse โ€žAktionenโ€œ kam an in Selenium WebDriver 2.0 ist in org.openqa.selenium.interactions enthalten und wird beibehalten in Selenium 3 und 4 mit W3C Actions-Unterstรผtzung.

KI-Werkzeuge und Selenium Alternativen Es werden selbstheilende Locatoren eingesetzt, die sich bei Klicks an Elementรคnderungen anpassen, wodurch unzuverlรคssige Fehler aufgrund dynamischer IDs oder sich รคndernder Layouts reduziert werden.

Ja. KI-Code-Assistenten kรถnnen ein Szenario in einfachem Englisch umwandeln in Selenium Java or Python Code, der contextClick() und doubleClick() verwendet, sowie Vorschlรคge fรผr robuste Locators und Waits.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: