Paremklõpsake ja Double Klõpsake sisse Selenium

⚡ Nutikas kokkuvõte

Paremklõpsake ja Double Klõpsake sisse Selenium on hiire toimingud, mis on automatiseeritud klassi Actions kaudu. See õpetus demonstreerib mõlemat toimingut töötava Java kood, reaalsed testistsenaariumid ja meetodid, mis neid sees juhivad Selenium Veebidraiver.

  • 🖱️ Põhimeetod: Toimingute klass paljastab contextClick() funktsiooni paremklõpsu jaoks ja doubleClick() funktsiooni topeltklõpsu jaoks mis tahes veebielemendil.
  • 🧭 Töövoo muster: Leidke element, looge draiveriga toimingute eksemplarid, kutsuge toiming välja ja käivitage see ahelkäsklusega perform().
  • 🧪 Testitud stsenaarium: Mõlemad näited sihivad kontrollitud ja korratavate tulemuste saamiseks demo.guru99.com/test/simple_context_menu.html.
  • 🆚 Toimingute eristamine: Paremklõps avab kontekstimenüüd; topeltklõps käivitab oleku muutused, näiteks teated või muudatused.
  • 🤖 AI integreerimine: Isetervenevad lokaatorid ja tehisintellekti abil töötavad Selenium raamistikud vähendavad klõpsamistoimingute ajal ebatasasust.

Paremklõpsake ja Double Klõpsake sisse Selenium

Paremklõpsake sisse Selenium

Paremklõpsake toimingut Selenium WebDriver tehakse Actions klassi abil. Toimingut nimetatakse ka kontekstipõhiseks klõpsuks. Eelmääratletud contextClick() Klassi Actions meetod teostab paremklõpsu. Allpool on toodud põhisüntaks.

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

Kuidas paremklõpsata Selenium

Allolev stsenaarium käivitab Guru99 demolehte, teeb paremklõpsu ja valib kuvatavast kontekstimenüüst suvandi.

Testi stsenaarium:

  1. Käivitamine: https://demo.guru99.com/test/simple_context_menu.html
  2. Paremklõpsake nupul „paremklõps minul“
  3. Klõpsake kuvatavas menüüs lingil „Muuda“
  4. Klõpsake hoiatusel nuppu OK
  5. Sulgege brauser

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

Tulemus: Ilmub kontekstimenüü ja valitakse suvand „Redigeeri”.

Paremklõpsake sisse Selenium

Double Klõpsake sisse Selenium

Järgides sama tegevuspõhist mustrit, Double Klõpsake sisse Selenium WebDriver kasutab eelnevalt määratletud doubleClick() meetod. Klass „Actions” on standardne abimees hiire ja klaviatuuri liittoimingute jaoks, näiteks paremklõps, lohistamine ja kursori hõljutamine.

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

Täitmisvoog on järgmine:

  • Looge toimingute objekt draiveri eksemplari abil.
  • Leidke sihtelement koos findElement.
  • Helista doubleClick() ja kett perform() täitma.

kuidas Double Klõpsake sisse Selenium

Järgmises stsenaariumis demonstreeritakse täielikku topeltklõpsu, mis käivitab JavaSkriptihoiatus ja kinnitab selle programmiliselt.

Testi stsenaarium:

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

Tulemus: Hoiatus hüpikakende vahel ja hoiatustekst prinditakse Eclipse konsooli.

Double Klõpsake sisse Selenium hoiatada

Double Klõpsake konsooli väljundit

KKK

WebElement.click() käivitab ainult vasakklõpsu. Paremklõps ja topeltklõps on hiirega seotud toimingud, mis nõuavad Actions klassilt aheldamist ja saatmist perform() kaudu.

Jah. contextClick() simuleerib päris paremklõpsu ja avab rakenduse kontekstimenüü. Neid kahte terminit kasutatakse rakenduses vaheldumisi. Selenium dokumendid.

Klass Actions paneb sündmused järjekorda. Ilma perform() funktsioonita ei saadeta aheldatud samme kunagi minema. perform() tühjendab järjekorra ja käivitab kõik järjekorras olevad toimingud järjekorras.

Jah, JavaSkriptitäitja saab küll topeltklõpsu käivitada, aga see möödub päris brauserisündmustest. Soovitatav on kasutada toimingute meetodit. Selenium standard.

Jah. Paremklõps ja topeltklõps toimingute kaudu toimivad Chrome'is ilma peata ja Firefox eeldusel, et W3C Actions API on toetatud. Selenium 4 draiverit toetavad seda täielikult.

Tegevuste klass saabus kohale. Selenium WebDriver 2.0 asub failis org.openqa.selenium.interactions ja see säilib kaustas Selenium 3 ja 4 koos W3C Actionsi toega.

Tehisintellekti tööriistad ja Selenium alternatiive Rakenda isetervendavaid lokaatoreid, mis kohanduvad klikkide ajal elementide muutustega, vähendades dünaamilistest ID-dest või nihkuvatest paigutustest tulenevaid ebaühtlaseid tõrkeid.

Jah. Tehisintellekti koodiassistendid saavad lihtsa inglise keele stsenaariumi teisendada Selenium Java or Python kood, mis kasutab funktsioone contextClick() ja doubleClick() ning pakub välja usaldusväärseid lokaatoreid ja ootamisaegu.

Võta see postitus kokku järgmiselt: