Høyreklikk og Double Klikk inn Selenium

⚡ Smart oppsummering

Høyreklikk og Double Klikk inn Selenium er musehandlinger automatisert gjennom Actions-klassen. Denne veiledningen demonstrerer begge operasjonene med fungerende Java kode, ekte testscenarier og metodene som driver dem innvendig Selenium WebDriver.

  • 🖱️ Kjernemetode: Actions-klassen eksponerer contextClick() for høyreklikk og doubleClick() for dobbeltklikk på et hvilket som helst WebElement.
  • 🧭 Arbeidsflytmønster: Finn elementet, instansier handlinger med driveren, kall handlingen, og kjede perform() for å utføre.
  • 🧪 Testet scenario: Begge eksemplene er rettet mot demo.guru99.com/test/simple_context_menu.html for bekreftede, repeterbare resultater.
  • 🆚 Handlingsforskjell: Høyreklikk åpner kontekstmenyer; dobbeltklikk utløser tilstandsendringer som varsler eller redigeringer.
  • 🤖 AI-integrasjon: Selvreparerende lokaliseringsverktøy og AI-assistert Selenium rammeverk reduserer flakighet under klikkhandlinger.

Høyreklikk og Double Klikk inn Selenium

Høyreklikk inn Selenium

Høyreklikk handling inn Selenium WebDriver gjøres ved hjelp av Actions-klassen. Operasjonen kalles også Context Click. Den forhåndsdefinerte contextClick() Metoden i Actions-klassen utfører høyreklikk. Nedenfor er den grunnleggende syntaksen.

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

Hvordan høyreklikke inn Selenium

Scenariet nedenfor starter en Guru99 demoside, høyreklikker og velger et alternativ fra hurtigmenyen som vises.

Testscenario:

  1. lansering: https://demo.guru99.com/test/simple_context_menu.html
  2. Høyreklikk på knappen «høyreklikk på meg»
  3. Klikk på Rediger-lenken i menyen som vises
  4. Klikk OK på varselet
  5. Lukk nettleseren

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

Resultat: Kontekstmenyen vises, og Rediger-alternativet er valgt.

Høyreklikk inn Selenium

Double Klikk inn Selenium

Etter samme handlingsbaserte mønster, Double Klikk inn Selenium WebDriver bruker den forhåndsdefinerte doubleClick() Metoden. Handlinger-klassen er standardhjelperen for sammensatte mus- og tastaturoperasjoner som høyreklikk, dra og slipp og hold musepekeren over.

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

Utførelsesflyten er:

  • Instansier et Actions-objekt ved hjelp av driverinstansen.
  • Finn målelementet med findElement.
  • Anrop doubleClick() og kjede perform() å henrette.

Hvordan Double Klikk inn Selenium

Det neste scenarioet demonstrerer et fullstendig dobbeltklikk som utløser en JavaSkriptvarsler og bekrefter det programmatisk.

Testscenario:

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

Resultat: Varselet dukker opp, og varselteksten skrives ut på Eclipse konsollen.

Double Klikk inn Selenium varsling

Double Klikk på konsollutgangen

Spørsmål og svar

WebElement.click() utløser bare et venstreklikk. Høyreklikk og dobbeltklikk er sammensatte musehendelser som krever at Actions-klassen kjeder og sender via perform().

Ja. contextClick() simulerer et ekte høyreklikk og åpner programmets kontekstmeny. De to begrepene brukes om hverandre i Selenium Dokumenter.

Actions-klassen setter hendelser i kø. Uten perform() sendes aldri de kjedede trinnene. perform() tømmer køen og utfører hver handling i køen i rekkefølge.

Ja, JavaScript Executor kan utløse et dobbeltklikk, men den omgår virkelige nettleserhendelser. Handlinger-tilnærmingen er anbefalt. Selenium standard.

Ja. Høyreklikk og dobbeltklikk via Handlinger fungerer i headless Chrome og Firefox forutsatt at W3C Actions API støttes. Selenium 4 sjåfører støtter dette fullt ut.

Handlingsklassen ankom Selenium WebDriver 2.0 inne i org.openqa.selenium.interactions og beholdes i Selenium 3 og 4 med støtte for W3C Actions.

AI-verktøy og Selenium alternativer Bruk selvreparerende lokaliseringsverktøy som tilpasser seg elementendringer under klikk, og reduserer ustabile feil fra dynamiske ID-er eller skiftende oppsett.

Ja. AI-kodeassistenter kan konvertere et scenario på vanlig engelsk til Selenium Java or Python kode ved hjelp av contextClick() og doubleClick(), pluss foreslå robuste lokatorer og ventepunkter.

Oppsummer dette innlegget med: