Klikněte pravým tlačítkem a Double Klikněte na Selenium

⚡ Chytré shrnutí

Klikněte pravým tlačítkem a Double Klikněte na Selenium jsou akce myši automatizované prostřednictvím třídy Actions. Tento tutoriál demonstruje obě operace s funkčními Java kód, reálné testovací scénáře a metody, které je dovnitř pohánějí Selenium WebDriver.

  • 🖱️ Základní metoda: Třída Actions zpřístupňuje contextClick() pro kliknutí pravým tlačítkem myši a doubleClick() pro dvojité kliknutí na libovolný WebElement.
  • 🧭 Vzor pracovního postupu: Vyhledejte element, vytvořte instanci akce s ovladačem, zavolejte akci a proveďte ji pomocí řetězce perform().
  • 🧪 Testovaný scénář: Oba příklady cílí na demo.guru99.com/test/simple_context_menu.html pro ověřené a opakovatelné výsledky.
  • 🆚 Rozlišování akce: Kliknutím pravým tlačítkem myši se otevírá kontextová menu; dvojitým kliknutím se aktivují změny stavu, jako jsou upozornění nebo úpravy.
  • 🤖 Integrace AI: Samoopravné lokátory a lokátory s podporou umělé inteligence Selenium Frameworky snižují labilní chování během kliknutí.

Klikněte pravým tlačítkem a Double Klikněte na Selenium

Klikněte pravým tlačítkem dovnitř Selenium

Klikněte pravým tlačítkem na akci Selenium WebDriver se provádí pomocí třídy Actions. Tato operace se také nazývá Context Click. Předdefinovaná contextClick() Metoda třídy Actions provede kliknutí pravým tlačítkem myši. Níže je uvedena základní syntaxe.

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

Jak kliknout pravým tlačítkem Selenium

Níže uvedený scénář spustí Guru99 demo stránku, klikne pravým tlačítkem myši a vybere možnost z zobrazené kontextové nabídky.

Scénář testu:

  1. Zahájení: https://demo.guru99.com/test/simple_context_menu.html
  2. Klikněte pravým tlačítkem myši na tlačítko „Klikněte pravým tlačítkem myši na mě“
  3. V zobrazené nabídce klikněte na odkaz Upravit
  4. Klikněte na OK v upozornění
  5. Zavřete prohlížeč

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

Výsledek: Zobrazí se kontextová nabídka a je vybrána možnost Upravit.

Klikněte pravým tlačítkem dovnitř Selenium

Double Klikněte na Selenium

Podle stejného vzoru založeného na akcích, Double Klikněte na Selenium WebDriver používá předdefinované doubleClick() Třída Actions je standardní pomocník pro složené operace myši a klávesnice, jako je kliknutí pravým tlačítkem myši, přetažení a najetí myší.

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

Tok provedení je:

  • Vytvořte instanci objektu Actions pomocí instance ovladače.
  • Vyhledejte cílový prvek pomocí findElement.
  • volání doubleClick() a řetěz perform() provést.

jak na to Double Klikněte na Selenium

Následující scénář demonstruje dvojité kliknutí, které spustí JavaUpozornění skriptu a programově jej potvrdí.

Scénář testu:

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

Výsledek: Zobrazí se upozornění a text upozornění se vytiskne na Eclipse konzole.

Double Klikněte na Selenium upozornit

Double Klikněte na výstup konzole

Nejčastější dotazy

WebElement.click() vyvolá pouze kliknutí levým tlačítkem myši. Kliknutí pravým tlačítkem myši a dvojité kliknutí jsou složené události myši, které vyžadují řetězení a odeslání třídy Actions pomocí perform().

Ano. contextClick() simuluje skutečné kliknutí pravým tlačítkem myši a otevře kontextovou nabídku aplikace. Tyto dva pojmy se v Selenium docs.

Třída Actions zařazuje události do fronty. Bez perform() se zřetězené kroky nikdy neodesílají. perform() vyprázdní frontu a provede každou akci ve frontě v pořadí.

Ano, JavaSpouštěč skriptů může spustit dvojité kliknutí, ale obchází skutečné události prohlížeče. Doporučuje se přístup Akce. Selenium Standardní.

Ano. Kliknutí pravým tlačítkem myši a dvojité kliknutí přes Akce fungují v prohlížeči Chrome bez headlessu. Firefox za předpokladu, že je podporováno rozhraní W3C Actions API. Selenium 4 ovladače to plně podporují.

Třída Akce dorazila v Selenium WebDriver 2.0 uvnitř org.openqa.selenium.interactions a je zachován v Selenium 3 a 4 s podporou akcí W3C.

Nástroje umělé inteligence a Selenium alternativy Používejte samoopravitelné lokátory, které se přizpůsobují změnám prvků během kliknutí, čímž se snižuje riziko nespolehlivých selhání způsobených dynamickými ID nebo měnícími se rozvrženími.

Ano. Asistenti s AI kódem dokáží převést scénář v jednoduché angličtině na Selenium Java or Python kód používající contextClick() a doubleClick() a také navrhnout robustní lokátory a čekací funkce.

Shrňte tento příspěvek takto: