Critical Actions osztály szelénben – Absolute 2021 útmutató

Megbeszéljük és megtanuljuk a Selenium Actions osztályának kimerítő használatát a különböző webes műveletekben. Az Actions Class in Selenium széles körben használható különféle webes műveletek végrehajtására, mint például az egér és a billentyűzet mozgatása, amelyek előremutató webböngésző műveletek.

Egérműveletek

Billentyűzet műveletek

Akcióosztály szelénben

Mi az Actions Class a szelénben: 

Akcióosztály szelénben
Akcióóra a szelénben

Az Actions Class a csomagból származó Selenium Bundle Api osztálya org.openqa.selenium.interactions kritikus fontosságú webes interakciók kezelésére és előrehaladására a felhasználókkal a böngészőautomatizáláson keresztül. Fogantyút biztosít a felhasználóknak a különféle egér- és billentyűzetműveletek végrehajtásához a fent említett különböző módszerekkel.  

Akcióosztály szelénben
Akcióóra a szelénben

Itt megvitatjuk az összes webes interakciót a szelén Műveletek Osztályon keresztül, kezdésként Megtanuljuk az egér interakciókat, és továbblépünk a Billentyűzet interakciók műveletekkel osztálya felé a Seleniumban.

Mouse Interactions – Akcióosztály szelénben

Drag and drop a szelénben

A szelénben a húzás és vidd három különböző megközelítésben végezhető el a szelén Actions osztályával: 

Drag and Drop in Selenium with Akció Szelén osztály építési módszerrel: 

Két webelemmel kell rendelkeznünk a húzással a Seleniumban, mint például a Source WebElement (amelyet át kell húzni) és a Destination WebElement (Ahol a Source WebElement el kell dobni, azaz a Destination WebElement). Az alábbi módszer egy testreszabott módszer ( amelyet felhasználhat a Framework WebUtils felépítéséhez), amelyek a Drag and Drop funkciót hajtják végre a Seleniumban, és ez a módszer két argumentumot tartalmaz, az egyik a Source WebElement, a másik pedig a Destination WebElement, amint azt korábban említettük: 

public void dragAndDrop(Forrás szerint, Cél szerint) { try { WebElement sourceElement = driver.findElement(source); WebElement célElem = driver.findElement(destination); Actions builder = new Actions(driver); Művelet dragAndDrop = builder.clickAndHold(sourceElement).moveToElement(destinationElement) .release(destinationElement).build(); dragAndDrop.perform(); BASE_LOGGER.info("A fogd és vidd művelet sikeresen végrehajtva"); } catch (e kivétel) { String kivételData = e.getCause().getMessage(); BASE_LOGGER.error("Hiba történt pl.: " + kivételData + " a DragAndDrop végrehajtása közben "); } }

Kattintson ide, ha meg szeretné ismerni a fogd és vidd módszert, és megismerheti a szelénben történő húzás és vidd művelet végrehajtásához szükséges összes megközelítést.

Kattintson és tartsa lenyomva a Seleniumban 

A ClickAndHold egy másik fontos módszer a Selenium Actions osztályából (az org.openqa.selenium.interactions csomagból)
először hajtsa végre a bal kattintási műveletet bármelyik webElement felett, és tartsa lenyomva az egér felengedése nélkül.

Ezt a módszert főként a drag and drop forgatókönyvek végrehajtása során használják, alább látható a minta kódkép: 

Akcióosztály szelénben
kattintson és tartsa lenyomva az -Actions class a Seleniumban

MoveToElement in Selenium

A MoveToElement a Selenium Actions osztályának metódusa, amellyel egy másik webelemre (cél webelemre) való áthelyezést hajthat végre, amelyet ez a metódus megfelelő argumentumként vesz fel.

Ezt a módszert főként a drag and drop forgatókönyvek végrehajtása során használják, alább látható a minta kódkép: 

MoveToElement
Ugrás elemre – Akciók osztálya a szelénben

Dupla kattintás a szelénben

A dupla kattintás egérrel történő replikálásához dupla kattintást kell végrehajtanunk az Actions osztályon keresztül a Seleniumban, és ezt az alábbi megközelítéssel tehetjük meg: 

public void doubleClick(Lokátor szerint) { try { WebElement elem = driver.findElement(locator); Actions action = new Actions(driver); action.doubleClick(elem).perform(); BASE_LOGGER.info("Végrehajtotta a dupla kattintást az elemre: " + lokátor); } catch (StaleElementReferenceException e) { BASE_LOGGER.error("Az elem nincs csatolva az oldaldokumentumhoz " + e.getCause().getMessage()); } catch (NoSuchElementException e) { BASE_LOGGER.error("Elem " + locator + " nem található a DOM-ban " + e.getCause().getMessage()); } catch (e kivétel) { BASE_LOGGER.error("Elem " + lokátor + " nem volt kattintható " + e.getCause().getMessage()); } }

A fenti kódrészlet egy olyan metódus, amely alapvetően egy argumentumot vesz fel Keresőként, azaz azt a WebElementet, amelyen a dupla kattintást végre kell hajtani. 

kontextus kattintás vagy szelén jobb gombbal

A kontextusban történő kattintás vagy a jobb gombbal végzett művelet egérrel történő replikálásához végre kell hajtanunk a kontextus kattintási módszert a Actions osztályon keresztül a Seleniumban, és ezt az alábbi megközelítéssel tehetjük meg: 

public void rightClick(By locator) { try { WebElement elem = driver.findElement(locator); Actions action = new Actions(driver); action.contextClick(element).perform(); BASE_LOGGER.info("A kontextus végrehajtása Kattintson az elemre : " + lokátor); } catch (StaleElementReferenceException e) { BASE_LOGGER.error("Az elem nincs csatolva az oldaldokumentumhoz " + e.getCause().getMessage()); } catch (NoSuchElementException e) { BASE_LOGGER.error("Elem " + locator + " nem található a DOM-ban " + e.getCause().getMessage()); } catch (e kivétel) { BASE_LOGGER.error("Elem " + lokátor + " nem volt kattintható " + e.getCause().getMessage()); } }

A fenti kódrészlet egy olyan metódus, amely alapvetően egy argumentumot vesz fel Keresőként, azaz azt a WebElementet, amelyen a dupla kattintást végre kell hajtani. 

Szünet a szelénben 

Ha bármilyen késleltetést szeretnénk bevezetni a különböző műveletek között, használhatjuk a pause metódust az Actions műveletek között, például ha azt szeretnénk, hogy néhány másodperc késleltetés legyen a drag and drop művelet között, akkor hívhatjuk a pause( ) Az Actions Class in Selenium módszere az alábbi megközelítésben: 

public void pauseBetweenActions(Forrás szerint,Célhely szerint, int időegység) { try { WebElement sourceElement = driver.findElement(source); WebElement célElem = driver.findElement(destination); Actions builder = new Actions(driver); builder.clickAndHold(sourceElement).moveToElement(destinationElement).pause(timeUnit).release(destinationElement).build().perform(); BASE_LOGGER.info("A fogd és vidd művelet sikeresen végrehajtva"); } catch (e kivétel) { String kivételData = e.getCause().getMessage(); BASE_LOGGER.error("Hiba történt pl.: " + kivételData + " a DragAndDrop végrehajtása közben "); } }

A fenti metódusban három argumentumra van szükség: az egyik forrás WebElement, egy másik argumentum a cél elem, az utolsó pedig a timeUnit, azaz az időkésleltetés, amelyet a pause() segítségével szeretnénk bevezetni a Seleniumban.

Szelénben lebeg az egér

Az Egér lebegtetése a szelénben műveletet a szelén Actions osztály használatával érhetjük el, alapvetően, ha bármelyik webelemmel fókuszba kerülünk, és onnantól kezdve az egérmutatót bármely másik elemre szeretnénk mozgatni ezzel az egérmutató művelettel, és ez a WebElement, ahol az egérkurzorunkat Target WebElementnek nevezzük. 

Alább látható ugyanennek a kódrészlete: 

public void mouseHover(By targetedLocator) { try { WebElement targetedElement = driver.findElement(targetedLocator); Actions builder = new Actions(driver); builder.moveToElement(targetedElement).build().perform(); BASE_LOGGER.info("Sikeresen végrehajtva az egér lebegtetése szelén műveletben "); } catch (e kivétel) { String kivételData = e.getCause().getMessage(); BASE_LOGGER.error("Hiba történt pl.: " + kivételData + " az egér lebegtetése közben a szelénben "); } }

Hogy megtudja az összes A Selenium webdriver parancsot itt tekintheti meg .

Billentyűzetműveletek – Akcióosztály szelénben

Mi a billentyűzet műveletek, és hol szükséges:

A billentyűzetműveletek azt jelentik, hogy a műveleteket közvetlenül a billentyűzetről hajtják végre, például azt, hogy megpróbáljuk végrehajtani a Ctrl+A vagy a Control+C billentyűkombinációt együtt, vagy a Billentyűzet fel vagy a Billentyűzet le gombot a billentyűzetről végrehajtani, miközben a WebElements szolgáltatással kommunikálunk.

A Selenium Actions osztályának segítségével számos billentyűzet interakciót hajthatunk végre

sendKeys szelénben :

A sendKeys műveletet a Selenium Actions osztályának segítségével az alábbi módon hajthatjuk végre:

public void sendKeysWithActionClass(By locator) { try { WebElement elem = driver.findElement(locator); Actions action = new Actions(driver); action.sendKeys("Billentyűzet adatbevitel"); // Billentyűzet műveletek végrehajtása a Control és a c együttes lenyomásával actions.sendKeys(Keys.CONTROL); action.sendKeys("c"); action.build().perform(); } catch (e kivétel) { String kivételData = e.getCause().getMessage(); } }

KeyUp szelénben :

Hasonlóképpen KeyUp műveleteket hajthatunk végre a Selenium Actions osztályával az alábbi módon:

    public void kulcsUpWithActionClass(Lokátor szerint) { try { WebElement elem = driver.findElement(locator); Actions action = new Actions(driver); action.sendKeys("Billentyűzet adatbevitel"); // Billentyűzet műveletek végrehajtása a Control és a c billentyűkkel együtt a keyUp actions.keyUp(Keys.CONTROL) kifejezéssel; action.sendKeys("c"); action.build().perform(); } catch (e kivétel) { String kivételData = e.getCause().getMessage(); } }

KeyDown szelénben

A keyDown műveletet a Selenium ismételt Actions osztályának segítségével hajthatjuk végre az alábbi megközelítésben:

public void keyDownWithActionClass(Lokátor szerint) { try { WebElement elem = driver.findElement(locator); Actions action = new Actions(driver); action.sendKeys("Billentyűzet adatbevitel"); // Billentyűzet műveletek végrehajtása a Control és a V billentyűkkel együtt a keyDown actions.keyDown(Keys.CONTROL); action.sendKeys("v"); action.build().perform(); } catch (e kivétel) { String kivételData = e.getCause().getMessage(); } }

Következtetés: Ezekkel itt végeztünk az Actions osztállyal a Seleniumban, a hamarosan megjelenő JavascriptExecutor oktatóanyagban szelénben modulárisan, mégis kimerítő módon. Tanulni Kimerítően a Szelén parancs ide is hivatkozhat a felkészüléshez A Szelénnel kapcsolatos kritikus interjúkérdéseket itt tekintheti meg.

Írj hozzászólást

E-mail címed nem kerül nyilvánosságra. Kötelező kitölteni *

Lapozzon a lap tetejére