Faceți clic dreapta și Double Faceți clic pe Selenium

⚡ Rezumat inteligent

Faceți clic dreapta și Double Faceți clic pe Selenium sunt acțiunile mouse-ului automatizate prin clasa Actions. Acest tutorial demonstrează ambele operații cu funcționare Java cod, scenarii reale de testare și metodele care le gestionează Selenium WebDriver.

  • 🖱️ Metoda de bază: Clasa Acțiuni expune contextClick() pentru clic dreapta și doubleClick() pentru dublu clic pe orice WebElement.
  • 🧭 Model de flux de lucru: Localizează elementul, instanțiază Acțiunile cu driverul, apelează acțiunea și conectează perform() în lanț pentru a se executa.
  • 🧪 Scenariu testat: Ambele exemple vizează demo.guru99.com/test/simple_context_menu.html pentru rezultate verificate și repetabile.
  • 🆚 Distincție de acțiune: Clic dreapta deschide meniuri contextuale; dublu clic declanșează modificări de stare, cum ar fi alerte sau editări.
  • 🤖 Integrare AI: Localizatoare cu auto-reparare și asistate de inteligență artificială Selenium Framework-urile reduc fragilitatea în timpul acțiunilor de clic.

Faceți clic dreapta și Double Faceți clic pe Selenium

Faceți clic dreapta în Selenium

Faceți clic dreapta în acțiune Selenium WebDriver se realizează folosind clasa Actions. Operația se mai numește și Context Click. Clasa predefinită contextClick() Metoda clasei Actions efectuează clicul dreapta. Mai jos este sintaxa de bază.

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

Cum să faceți clic dreapta Selenium

Scenariul de mai jos lansează o Guru99 pagină demo, efectuează un clic dreapta și selectează o opțiune din meniul contextual care apare.

Scenariul de testare:

  1. Lansa: https://demo.guru99.com/test/simple_context_menu.html
  2. Faceți clic dreapta pe butonul „faceți clic dreapta pe mine”
  3. Faceți clic pe linkul Editare din meniul afișat
  4. Faceți clic pe OK pe alertă
  5. Închideți browserul

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

Rezultat: Apare meniul contextual și este selectată opțiunea Editare.

Faceți clic dreapta în Selenium

Double Faceți clic pe Selenium

Urmând același model bazat pe acțiuni, Double Faceți clic pe Selenium WebDriver folosește opțiunile predefinite doubleClick() metodă. Clasa Actions este ajutorul standard pentru operațiunile compuse cu mouse-ul și tastatura, cum ar fi clic dreapta, glisare și plasare și plasarea cursorului.

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

Fluxul de execuție este:

  • Instanțiați un obiect Actions folosind instanța driverului.
  • Localizați elementul țintă cu findElement.
  • Apel doubleClick() și lanț perform() a executa.

Cum să Double Faceți clic pe Selenium

Următorul scenariu demonstrează un dublu clic complet care declanșează o JavaAlertă script și o confirmă programatic.

Scenariul de testare:

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

Rezultat: Alerta apare și textul alertei este imprimat pe Eclipse consolă.

Double Faceți clic pe Selenium alerta

Double Rezultatul consolei Click

Întrebări frecvente

WebElement.click() declanșează doar un clic stânga. Clic dreapta și dublu clic sunt evenimente compuse ale mouse-ului care necesită ca clasa Actions să fie înlănțuită și expediată prin perform().

Da. contextClick() simulează un clic dreapta real și deschide meniul contextual al aplicației. Cei doi termeni sunt folosiți interschimbabil în Selenium documente.

Clasa Actions pune evenimentele în coadă. Fără perform(), pașii înlănțuiți nu sunt niciodată expediați. perform() golește coada și execută fiecare acțiune din coadă în ordine.

Da, JavaScript Executor poate declanșa un dublu clic, dar ocolește evenimentele reale ale browserului. Abordarea Acțiuni este cea recomandată. Selenium standardul.

Da. Clic dreapta și dublu clic prin Acțiuni funcționează în Chrome fără ecran și Firefox cu condiția ca API-ul W3C Actions să fie acceptat. Selenium 4 șoferi susțin pe deplin acest lucru.

Clasa Acțiuni a sosit în Selenium WebDriver 2.0 în interiorul fișierului org.openqa.selenium.interactions și este păstrat în Selenium 3 și 4 cu suport pentru acțiuni W3C.

Instrumente de inteligență artificială și Selenium alternative Aplicați localizatori cu auto-reparare care se adaptează la modificările elementelor în timpul clicurilor, reducând erorile instabile cauzate de ID-urile dinamice sau de schimbarea machetelor.

Da. Asistenții de codare cu inteligență artificială pot converti un scenariu în limba engleză simplă în Selenium Java or Python cod folosind contextClick() și doubleClick(), plus sugerarea de localizatori și așteptări robuste.

Rezumați această postare cu: