Klik Kanan dan Double Klik di Selenium

โšก Ringkasan Cerdas

Klik Kanan dan Double Klik di Selenium Aksi mouse diotomatiskan melalui kelas Actions. Tutorial ini mendemonstrasikan kedua operasi tersebut dengan cara yang berfungsi. Java kode, skenario pengujian nyata, dan metode yang menggerakkannya di dalam Selenium Pengemudi Web.

  • ๏ธ Metode Inti: Kelas Actions mengekspos contextClick() untuk klik kanan dan doubleClick() untuk klik ganda pada WebElement apa pun.
  • ๐Ÿงญ Pola Alur Kerja: Temukan elemen tersebut, buat instance Actions dengan driver, panggil action tersebut, dan rangkai perform() untuk mengeksekusinya.
  • ๐Ÿงช Skenario yang Diuji: Kedua contoh tersebut menargetkan demo.guru99.com/test/simple_context_menu.html untuk hasil yang terverifikasi dan dapat diulang.
  • ๐Ÿ†š Perbedaan Tindakan: Klik kanan membuka menu kontekstual; klik ganda memicu perubahan status seperti peringatan atau pengeditan.
  • ๐Ÿค– Integrasi AI: Pencari lokasi yang dapat memperbaiki diri sendiri dan dibantu oleh AI. Selenium Kerangka kerja mengurangi ketidakstabilan selama tindakan klik.

Klik Kanan dan Double Klik di Selenium

Klik kanan masuk Selenium

Tindakan klik kanan di Selenium WebDriver dijalankan menggunakan kelas Actions. Operasi ini juga disebut Context Click. Pengaturan yang telah ditentukan sebelumnya. contextClick() Metode pada kelas Actions melakukan klik kanan. Berikut adalah sintaks dasarnya.

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

Cara Klik Kanan di Selenium

Skenario di bawah ini meluncurkan sebuah GuruPada halaman demo 99, lakukan klik kanan, dan pilih opsi dari menu konteks yang muncul.

Skenario Uji:

  1. Meluncurkan: https://demo.guru99.com/test/simple_context_menu.html
  2. Klik kanan pada tombol โ€œklik kanan sayaโ€
  3. Klik tautan Edit pada menu yang ditampilkan.
  4. Klik OK pada peringatan tersebut.
  5. Tutup peramban

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

Hasil: Menu konteks muncul dan opsi Edit dipilih.

Klik kanan masuk Selenium

Double Klik di Selenium

Mengikuti pola berbasis tindakan yang sama, Double Klik di Selenium WebDriver menggunakan yang telah ditentukan sebelumnya doubleClick() Metode. Kelas Actions adalah kelas pembantu standar untuk operasi gabungan mouse dan keyboard seperti Klik Kanan, Seret dan Lepas, dan Arahkan Kursor.

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

Alur eksekusinya adalah:

  • Buat instance objek Actions menggunakan instance driver.
  • Temukan elemen target dengan findElement.
  • Memanggil doubleClick() dan rantai perform() untuk mengeksekusi.

How to Double Klik di Selenium

Skenario selanjutnya mendemonstrasikan klik ganda penuh yang memicu sebuah JavaSkrip tersebut memberikan peringatan dan mengkonfirmasinya secara terprogram.

Skenario Uji:

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

Hasil: Notifikasi muncul dan teks notifikasi dicetak ke layar. Eclipse konsol.

Double Klik di Selenium waspada

Double Klik output konsol

Pertanyaan Umum Demo Slot

WebElement.click() hanya memicu klik kiri. Klik kanan dan klik ganda adalah peristiwa mouse gabungan yang memerlukan kelas Actions untuk merantai dan mengirimkan melalui perform().

Ya. contextClick() mensimulasikan klik kanan sungguhan dan membuka menu konteks aplikasi. Kedua istilah tersebut digunakan secara bergantian dalam Selenium docs.

Kelas Actions mengantrekan event. Tanpa perform(), langkah-langkah yang dirantai tidak akan pernah dijalankan. perform() membersihkan antrean dan mengeksekusi setiap aksi yang diantrekan secara berurutan.

Ya, JavaScript Executor dapat memicu klik ganda, tetapi hal ini melewati peristiwa browser yang sebenarnya. Pendekatan Actions adalah yang direkomendasikan. Selenium standar.

Ya. Klik kanan dan klik ganda melalui Actions berfungsi di Chrome headless dan Firefox asalkan API W3C Actions didukung. Selenium 4 driver sepenuhnya mendukung hal ini.

Kelas Actions tiba di Selenium WebDriver 2.0 berada di dalam org.openqa.selenium.interactions dan dipertahankan di Selenium 3 dan 4 dengan dukungan W3C Actions.

Alat AI dan Selenium alternatif Menerapkan locator yang dapat memperbaiki diri sendiri dan beradaptasi dengan perubahan elemen selama klik, mengurangi kegagalan yang tidak menentu akibat ID dinamis atau perubahan tata letak.

Ya. Asisten kode AI dapat mengubah skenario bahasa Inggris biasa menjadi Selenium Java or Python Kode yang menggunakan contextClick() dan doubleClick(), serta menyarankan locator dan wait yang lebih andal.

Ringkaslah postingan ini dengan: