Action Class in Selenium
โก Nutikas kokkuvรตte
Action Class in Selenium tegeleb tรคiustatud klaviatuuri ja hiire toimingutega, nagu kursoriga liikumine, lohistamine, paremklรตps ja klahvikombinatsioonid, tรคiustatud kasutajainteraktsioonide API kaudu. See รตpetus selgitab toiminguid ja toiminguklasse, vรตtmemeetodeid ja seda, kuidas mitut interaktsiooni รผheks jadaks aheldada.

Action Class in Selenium
Action Class in Selenium on sisseehitatud funktsioon klaviatuuri ja hiire toimingute haldamiseks. See toetab selliseid toiminguid nagu mitu klรตpsu Ctrl-klahviga, lohistamine ja palju muud. Neid toiminguid tehakse tรคiustatud kasutajainteraktsioonide API abil. Selenium Veebidraiver.
Klaviatuuri ja hiire sรผndmuste kรคsitlemine
Spetsiaalsete klaviatuuri ja hiire sรผndmuste kรคsitlemine toimub kรคsuga Advanced User Interactions API. See sisaldab Meetmete ja tegevus klassid, mida on vaja nende sรผndmuste kรคivitamiseks. Allpool on loetletud Actions-klassi pakutavad kรตige sagedamini kasutatavad klaviatuuri ja hiire sรผndmused.
| Meetod | Kirjeldus |
|---|---|
| clickAndHold() | Klรตpsab (vabastamata) hiire praeguses asukohas. |
| kontekstClick() | Teeb hiire praeguses asukohas kontekstipรตhise klรตpsu (paremklรตps). |
| doubleClick() | Teeb topeltklรตpsu hiire praeguses asukohas. |
| dragAndDrop(allikas, sihtmรคrk) | Klรตpsa ja hoia all lรคhteelemendil, liigub sihtelemendile ja seejรคrel vabastab hiireklahvi. Parameetrid: lรคhteelement (element, millel klรตpsata), sihtmรคrk (element, millel klahv vabastada). |
| dragAndDropBy(allikas, x-nihe, y-nihe) | Klรตpsa ja hoia all lรคhteelemendil, liigub etteantud nihke vรตrra ja seejรคrel vabastab. Parameetrid: allikas, xOffset (horisontaalne), yOffset (vertikaalne). |
| keyDown(muutja_vรตti) | Vajutab muuteklahvi seda vabastamata, nii et hilisemad interaktsioonid eeldavad, et see jรครคb allavajutatuks. Parameeter: muuteklahv (Keys.ALT, Keys.SHIFT vรตi Keys.CONTROL). |
| keyUp(modifitseeriv_vรตti) | Vabastab muuteklahvi. Parameeter: muuteklahv (Keys.ALT, Keys.SHIFT vรตi Keys.CONTROL). |
| moveByOffset(x-nihe, y-nihe) | Liigutab hiirt selle praegusest asukohast (vรตi 0,0) antud nihke vรตrra. Negatiivne x liigub vasakule; negatiivne y liigub รผles. |
| liiguta elementi(elemendi juurde) | Liigutab hiire elemendi keskele. Parameeter: element, kuhu liigutada. |
| vabasta () | Vabastab allavajutatud hiire vasaku nupu praeguses asukohas. |
| sendKeys (รผks element, mรคrgijada) | Saadab elemendile klahvivajutuste jada. Parameetrid: onElement (tavaliselt tekstivรคli), charsequence (saadetavate klahvivajutuste arv). |
Jรคrgmises nรคites kasutame moveToElement() meetod รผhe kohal hรตljutamiseks Mercury Toursi tabeli read.
รlaltoodud lahter on osa a-st element. Kui hiirega kohal ei liigu, on selle vรคrv #FFC455 (oranลพ). Pรคrast hiirega kohal liigutamist muutub lahtri vรคrv lรคbipaistvaks ja sobib รผmbritseva tabeli taustaga.
Step 1) Importige Meetmete ja tegevus klassidesse.
Step 2) Looge uus Actions-objekt.
Step 3) Looge toimingu eksemplar, kasutades 2. sammus kirjeldatud toimingute objekti.
Siin me kasutame moveToElement() meetod hiirekursori hรตljutamiseks lingi โAvalehtโ kohal. build() Meetodit kutsutakse alati viimasena, et kรตik loetletud toimingud kompileeritaks รผheks sammuks.
Step 4) Kasuta perform() meetod 3. etapis loodud Action-objekti kรคivitamiseks.
Allpool on tรคielik WebDriveri kood, mis kontrollib taustavรคrvi element enne ja pรคrast hiirega kohal liikumist.
package newproject;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Action;
import org.openqa.selenium.interactions.Actions;
public class PG7 {
public static void main(String[] args) {
String baseUrl = "https://demo.guru99.com/test/newtours/";
System.setProperty("webdriver.gecko.driver", "C:\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get(baseUrl);
WebElement link_Home = driver.findElement(By.linkText("Home"));
WebElement td_Home = driver.findElement(By.xpath(
"//html/body/div/table/tbody/tr/td"
+ "/table/tbody/tr/td"
+ "/table/tbody/tr/td"
+ "/table/tbody/tr"));
Actions builder = new Actions(driver);
Action mouseOverHome = builder.moveToElement(link_Home).build();
String bgColor = td_Home.getCssValue("background-color");
System.out.println("Before hover: " + bgColor);
mouseOverHome.perform();
bgColor = td_Home.getCssValue("background-color");
System.out.println("After hover: " + bgColor);
driver.close();
}
}
Allolev vรคljund nรคitab, et taustavรคrv muutus pรคrast hiirega รผleviimist lรคbipaistvaks.
Mitme tegevuse seeria loomine
Toimingute jada saab luua klasside Action ja Actions abil. Pea meeles, et seeria tuleb sulgeda klassiga build() meetod. Vaatleme allolevat nรคidiskoodi.
public static void main(String[] args) {
String baseUrl = "https://www.facebook.com/";
WebDriver driver = new FirefoxDriver();
driver.get(baseUrl);
WebElement txtUsername = driver.findElement(By.id("email"));
Actions builder = new Actions(driver);
Action seriesOfActions = builder
.moveToElement(txtUsername)
.click()
.keyDown(txtUsername, Keys.SHIFT)
.sendKeys(txtUsername, "hello")
.keyUp(txtUsername, Keys.SHIFT)
.doubleClick(txtUsername)
.contextClick()
.build();
seriesOfActions.perform();
}





