Klik met de rechtermuisknop en Double Klik in Selenium

โšก Slimme samenvatting

Klik met de rechtermuisknop en Double Klik in Selenium Muisacties worden geautomatiseerd via de Actions-klasse. Deze handleiding demonstreert beide bewerkingen met een werkend voorbeeld. Java code, echte testscenario's en de methoden die daaraan ten grondslag liggen Selenium Webstuurprogramma.

  • ๏ธ Kernmethode: De Actions-klasse biedt contextClick() voor rechtermuisklik en doubleClick() voor dubbelklik op een willekeurig WebElement.
  • ๐Ÿงญ Werkstroompatroon: Zoek het element op, instantieer Actions met de driver, roep de actie aan en koppel perform() aan elkaar om deze uit te voeren.
  • ๐Ÿงช Getest scenario: Beide voorbeelden zijn gericht op demo.guru99.com/test/simple_context_menu.html voor geverifieerde, herhaalbare resultaten.
  • ๐Ÿ†š Onderscheid in acties: Met een rechtermuisklik worden contextmenu's geopend; een dubbelklik activeert statuswijzigingen zoals meldingen of bewerkingen.
  • ๐Ÿค– AI-integratie: Zelfherstellende lokalisatiesystemen en AI-ondersteunde systemen Selenium Frameworks verminderen de onbetrouwbaarheid tijdens klikacties.

Klik met de rechtermuisknop en Double Klik in Selenium

Klik met de rechtermuisknop in Selenium

Klik met de rechtermuisknop in Selenium WebDriver wordt uitgevoerd met behulp van de Actions-klasse. De bewerking wordt ook wel Context Click genoemd. De vooraf gedefinieerde contextClick() De methode van de klasse Actions voert de rechtermuisklik uit. Hieronder staat de basissyntaxis.

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

Hoe u met de rechtermuisknop kunt klikken Selenium

Het onderstaande scenario start een GuruDe demopagina 99 voert een rechtermuisklik uit en selecteert een optie uit het contextmenu dat verschijnt.

Testscenario:

  1. Lancering: https://demo.guru99.com/test/simple_context_menu.html
  2. Klik met de rechtermuisknop op de knop "klik met de rechtermuisknop op mij".
  3. Klik op de link 'Bewerken' in het weergegeven menu.
  4. Klik op OK in de melding.
  5. Sluit de 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();
    }
}

Resultaat: Het contextmenu verschijnt en de optie 'Bewerken' wordt geselecteerd.

Klik met de rechtermuisknop in Selenium

Double Klik in Selenium

Volgens hetzelfde op acties gebaseerde patroon, Double Klik in Selenium WebDriver gebruikt de vooraf gedefinieerde doubleClick() methode. De klasse Actions is de standaard helper voor gecombineerde muis- en toetsenbordbewerkingen zoals rechtermuisklik, slepen en neerzetten en zweven met de muis.

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

De uitvoeringsvolgorde is als volgt:

  • Maak een Actions-object aan met behulp van de driver-instantie.
  • Zoek het doelelement met findElement.
  • Bel doubleClick() en ketting perform() uitvoeren.

Hoe werkt het? Double Klik in Selenium

Het volgende scenario demonstreert een volledige dubbelklik die een actie activeert. JavaHet script geeft een waarschuwing en bevestigt deze programmatisch.

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

Resultaat: De melding verschijnt en de meldingstekst wordt afgedrukt. Eclipse console.

Double Klik in Selenium te waarschuwen

Double Klik op console-uitvoer

Veelgestelde vragen

WebElement.click() activeert alleen een linksklik. Rechtsklikken en dubbelklikken zijn samengestelde muisgebeurtenissen die de Actions-klasse vereisen om ze te koppelen en te verzenden via perform().

Ja. contextClick() simuleert een echte rechtermuisklik en opent het contextmenu van de applicatie. De twee termen worden door elkaar gebruikt in Selenium docs.

De klasse Actions plaatst gebeurtenissen in een wachtrij. Zonder perform() worden de gekoppelde stappen nooit uitgevoerd. perform() leegt de wachtrij en voert elke actie in de wachtrij in de juiste volgorde uit.

Ja, JavaScript Executor kan een dubbelklik activeren, maar omzeilt daarmee echte browsergebeurtenissen. De Actions-aanpak wordt aanbevolen. Selenium standaard.

Ja. Rechtsklikken en dubbelklikken via Acties werken in headless Chrome. Firefox mits de W3C Actions API wordt ondersteund. Selenium 4 stuurprogramma's ondersteunen dit volledig.

De actieklasse arriveerde in Selenium WebDriver 2.0 bevindt zich in org.openqa.selenium.interactions en wordt behouden in Selenium 3 en 4 met ondersteuning van W3C Actions.

AI-tools en Selenium alternatieven Pas zelfherstellende locators toe die zich aanpassen aan elementwijzigingen tijdens klikken, waardoor onbedoelde fouten als gevolg van dynamische ID's of verschuivende lay-outs worden verminderd.

Ja. AI-codeassistenten kunnen een scenario in gewoon Engels omzetten in Selenium Java or Python Code met gebruik van contextClick() en doubleClick(), plus suggesties voor robuuste locators en waits.

Vat dit bericht samen met: