Sağ Tıklayın ve Double Tıkla Selenium

⚡ Akıllı Özet

Sağ Tıklayın ve Double Tıkla Selenium Fare eylemleri, Actions sınıfı aracılığıyla otomatikleştirilir. Bu eğitim, çalışan örneklerle her iki işlemi de göstermektedir. Java kod, gerçek test senaryoları ve bunları yönlendiren yöntemler Selenium WebDriver.

  • 🖱️ Temel Yöntem: Actions sınıfı, herhangi bir WebElement üzerinde sağ tıklama için contextClick() ve çift tıklama için doubleClick() işlevlerini sunar.
  • 🧭 İş Akışı Modeli: Öğeyi bulun, sürücü ile Eylemleri örnekleyin, eylemi çağırın ve perform() işlevini zincirleyerek çalıştırın.
  • 🧪 Test Edilen Senaryo: Her iki örnek de doğrulanmış ve tekrarlanabilir sonuçlar için demo.guru99.com/test/simple_context_menu.html adresini hedeflemektedir.
  • 🆚 Eylem Ayrımı: Sağ tıklama bağlam menülerini açar; çift tıklama ise uyarılar veya düzenlemeler gibi durum değişikliklerini tetikler.
  • 🤖 AI Entegrasyonu: Kendi kendini onaran konum belirleyiciler ve yapay zeka destekli Selenium Çerçeveler, tıklama eylemleri sırasında istikrarsızlığı azaltır.

Sağ Tıklayın ve Double Tıkla Selenium

Sağ Tıklayın Selenium

Sağ tıklama eylemi Selenium WebDriver, Actions sınıfı kullanılarak yapılır. Bu işleme ayrıca Bağlam Tıklaması da denir. Önceden tanımlanmıştır. contextClick() Actions sınıfının metodu sağ tıklama işlemini gerçekleştirir. Aşağıda temel sözdizimi verilmiştir.

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

Nasıl Sağ Tıklanır Selenium

Aşağıdaki senaryo bir olayı başlatır. Guru99. demo sayfasında sağ tıklama yapılır ve açılan bağlam menüsünden bir seçenek seçilir.

Test Senaryosu:

  1. Başlatmak: https://demo.guru99.com/test/simple_context_menu.html
  2. "Bana sağ tıklayın" düğmesine sağ tıklayın.
  3. Görüntülenen menüdeki Düzenle bağlantısına tıklayın.
  4. Uyarıda Tamam'a tıklayın.
  5. Tarayıcıyı kapat

Kod:

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

Sonuç: Bağlam menüsü açılır ve Düzenle seçeneği seçilir.

Sağ Tıklayın Selenium

Double Tıkla Selenium

Aynı eylem tabanlı modeli izleyerek, Double Tıkla Selenium WebDriver önceden tanımlanmış olanı kullanır. doubleClick() Actions sınıfı, sağ tıklama, sürükle bırak ve üzerine gelme gibi bileşik fare ve klavye işlemleri için standart yardımcı sınıftır.

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

İşlem akışı şu şekildedir:

  • Sürücü örneğini kullanarak bir Actions nesnesi oluşturun.
  • Hedef öğeyi şu şekilde bulun: findElement.
  • Çağrı doubleClick() ve zincir perform() yürütmek.

nasıl Double Tıkla Selenium

Bir sonraki senaryo, tetikleyen tam bir çift tıklamayı göstermektedir. JavaKomut dosyası uyarı verir ve bunu programatik olarak onaylar.

Test Senaryosu:

Kod:

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

Sonuç: Uyarı açılır ve uyarı metni ekrana yazdırılır. Eclipse konsol.

Double Tıkla Selenium uyarı

Double Konsol çıktısına tıklayın.

SSS

WebElement.click() yalnızca sol tıklamayı tetikler. Sağ tıklama ve çift tıklama, Actions sınıfının perform() aracılığıyla zincirleme olarak işlemesini ve göndermesini gerektiren bileşik fare olaylarıdır.

Evet. `contextClick()` gerçek bir sağ tıklamayı simüle eder ve uygulamanın bağlam menüsünü açar. Bu iki terim birbirinin yerine kullanılır. Selenium docs.

Actions sınıfı olayları sıraya alır. perform() metodu olmadan, zincirleme adımlar asla gönderilmez. perform() metodu sırayı boşaltır ve sıraya alınmış her eylemi sırayla yürütür.

Evet, JavaKomut dosyası yürütücüsü çift tıklamayı tetikleyebilir, ancak gerçek tarayıcı olaylarını atlar. Eylemler yaklaşımı önerilir. Selenium standardı.

Evet. Sağ tıklama ve çift tıklama (Eylemler aracılığıyla) Chrome'un başsız modunda çalışır. Firefox W3C Actions API'nin desteklenmesi koşuluyla. Selenium 4 sürücü bunu tam olarak destekliyor.

Actions sınıfı geldi. Selenium WebDriver 2.0, org.openqa.selenium.interactions içerisinde yer almaktadır ve korunmaktadır. Selenium 3 ve 4, W3C Eylemleri desteğiyle.

Yapay zeka araçları ve Selenium alternatifleri Tıklamalar sırasında öğe değişikliklerine uyum sağlayan, kendi kendini onaran konum belirleyiciler uygulayın; bu sayede dinamik kimliklerden veya değişen düzenlerden kaynaklanan istikrarsız hatalar azaltılır.

Evet. Yapay zekâ kod yardımcıları, sade bir İngilizce senaryoyu şu şekilde dönüştürebilir: Selenium Java or Python `contextClick()` ve `doubleClick()` kullanan kodlar, ayrıca sağlam konum belirleyiciler ve bekleme yöntemleri önerileri.

Bu yazıyı şu şekilde özetleyin: