Třída kritických akcí v příručce selen -Absolute 2021

Budeme diskutovat a naučit se vyčerpávající využití třídy Akce v selenu napříč různými webovými operacemi. Akce Class in Selenium je široce používána k provádění různých webových operací, jako je pohyb myší a klávesnicí, což jsou pokročilé akce webového prohlížeče.

Myši Akce

Akce klávesnice

Třída akcí v selenu

Co je třída akcí v selenu: 

Třída akcí v selenu
Třída akcí na selenu

Akce Class je třída ze Selenium Bundle Api z balíčku interakce org.openqa.selenium zvládnout kritické a urychlit webové interakce s uživateli prostřednictvím automatizace prohlížeče. Poskytuje uživatelům popisovač k provádění různých akcí myši a klávesnice pomocí různých výše zmíněných metod.  

Třída akcí v selenu
Třída akcí na selenu

Budeme zde diskutovat o všech webových interakcích prostřednictvím třídy akcí v selenu, začneme s Naučíme se interakce myší a přejdeme ke třídě interakcí s klávesnicí KeyBoard v selenu.

Interakce myší - třída akcí v selenu

Přetáhněte selen

Drag and Drop in Selenium lze provést třemi různými přístupy s třídou Actions v Selenium: 

Drag and Drop in Selenium with Action Class in Selenium via build method: 

Potřebujeme mít dva webelementy k provádění Drag and Drop v selenu, jako je Source WebElement (který se má přetáhnout) a Destination WebElement (kde se má zrušit Source WebElement, tj. Destination WebElement). Níže uvedená metoda je přizpůsobená metoda ( které byste mohli použít k sestavení Framework WebUtils), které provádějí drag and drop v selenu a tato metoda vyžaduje dva argumenty, jeden je Source WebElement a další je Destination WebElement, jak bylo uvedeno výše: 

public void dragAndDrop(Podle zdroje, Podle cíle) { try { WebElement sourceElement = driver.findElement(source); WebElement destinationElement = driver.findElement(destination); Tvůrce akcí = new Actions(driver); Akce dragAndDrop = builder.clickAndHold(sourceElement).moveToElement(destinationElement) .release(destinationElement).build(); dragAndDrop.perform(); BASE_LOGGER.info("Akce Drag and Drop byla úspěšně provedena "); } catch (Výjimka e) { String exceptionData = e.getCause().getMessage(); BASE_LOGGER.error("Došlo k chybě, tj.: " + exceptionData + " při provádění DragAndDrop "); } }

Chcete-li se dozvědět celý koncept přetahování a dostat se ke všem přístupům k provádění přetahování v selenu, klikněte sem.

ClickAndHold v Selenium 

ClickAndHold je další důležitá metoda z třídy Akce (z balíčku org.openqa.selenium.interactions) v selenu do
nejprve proveďte operaci levým kliknutím na libovolný webElement a podržte ji bez uvolnění myši.

Tato metoda se používá hlavně při provádění scénářů přetažení, níže je ukázkový obrázek kódu: 

Třída akcí v selenu
klikněte a podržte třídu -Actions v selenu

MoveToElement v selenu

MoveToElement je metoda z třídy Akce v selenu k provedení přesunu do jiného WebElement (Destination Webelement), který tato metoda bere jako jeden příslušný argument.

Tato metoda se používá hlavně při provádění scénářů přetažení, níže je ukázkový obrázek kódu: 

MoveToElement
Přesunout na prvek - třída Akce v selenu

Poklepejte na selen

Chcete-li replikovat operaci dvojitého kliknutí pomocí myši, musíme provést dvojité kliknutí pomocí třídy Akce v selenu a můžeme to udělat v níže uvedeném přístupu: 

public void doubleClick(By locator) { try { WebElement element = driver.findElement(locator); Akce akce = nové Akce(ovladač); actions.doubleClick(element).perform(); BASE_LOGGER.info("Dvakrát klikněte na prvek: " + lokátor); } catch (StaleElementReferenceException e) { BASE_LOGGER.error("Prvek není připojen k dokumentu stránky " + e.getCause().getMessage()); } catch (NoSuchElementException e) { BASE_LOGGER.error("Prvek " + lokátor + " nebyl nalezen v DOM " + e.getCause().getMessage()); } catch (Výjimka e) { BASE_LOGGER.error("Prvek " + lokátor + " nebylo možné kliknout " + e.getCause().getMessage()); } }

Výše uvedený fragment kódu je metoda, která v zásadě bere argument jako lokátor, tj. WebElement, na kterém musí být provedeno dvojité kliknutí. 

kontextové kliknutí nebo pravé kliknutí selenu

Chcete-li replikovat kontextové kliknutí nebo kliknutí pravým tlačítkem myši, musíme provést metodu kontextového kliknutí pomocí třídy Akce v selenu a můžeme to udělat v níže uvedeném přístupu: 

public void kliknout vpravo(Podle lokátoru) { try { WebElement element = driver.findElement(locator); Akce akce = nové Akce(ovladač); actions.contextClick(element).perform(); BASE_LOGGER.info("Proveden kontext Klikněte na prvek: " + lokátor); } catch (StaleElementReferenceException e) { BASE_LOGGER.error("Prvek není připojen k dokumentu stránky " + e.getCause().getMessage()); } catch (NoSuchElementException e) { BASE_LOGGER.error("Prvek " + lokátor + " nebyl nalezen v DOM " + e.getCause().getMessage()); } catch (Výjimka e) { BASE_LOGGER.error("Prvek " + lokátor + " nebylo možné kliknout " + e.getCause().getMessage()); } }

Výše uvedený fragment kódu je metoda, která v zásadě bere argument jako lokátor, tj. WebElement, na kterém musí být provedeno dvojité kliknutí. 

Pauza v selenu 

Kdykoli chceme zavést časové zpoždění mezi různými akcemi, můžeme použít metodu pauzy mezi akčními operacemi, například řekněme, pokud chceme mít několik sekund zpoždění mezi operací přetažení a přetažení, pak můžeme zavolat pauzu ( ) metoda třídy akcí na selenu v níže uvedeném přístupu: 

public void pauseBetweenActions(Podle zdroje,Podle cíle, int timeUnit) { try { WebElement sourceElement = driver.findElement(source); WebElement destinationElement = driver.findElement(destination); Tvůrce akcí = new Actions(driver); builder.clickAndHold(sourceElement).moveToElement(destinationElement).pause(timeUnit).release(destinationElement).build().perform(); BASE_LOGGER.info("Akce Drag and Drop byla úspěšně provedena "); } catch (Výjimka e) { String exceptionData = e.getCause().getMessage(); BASE_LOGGER.error("Došlo k chybě, tj.: " + exceptionData + " při provádění DragAndDrop "); } }

Ve výše uvedené metodě to trvá tři argumenty: jeden zdrojový WebElement, další argument je cílový prvek a poslední je pro timeUnit, tj. Časové zpoždění, které chceme zavést pomocí pause () v Selenium.

Myš se vznáší v selenu

Umístění kurzoru myši v operaci Selenium lze dosáhnout pomocí třídy Akce v Selenium, v zásadě, jakmile jsme v centru pozornosti s jakýmkoli webElementem a odtud chceme umístit kurzor myši na jakýkoli jiný prvek touto operací myši a tímto WebElementem, kde chceme, aby se náš kurzor myši nazýval Target WebElement. 

Níže je fragment kódu pro stejné: 

public void mouseHover(By targetedLocator) { try { WebElement targetedElement = driver.findElement(targetedLocator); Tvůrce akcí = new Actions(driver); builder.moveToElement(targetedElement).build().perform(); BASE_LOGGER.info("Úspěšně provedeno umístění myši v akci Selenium"); } catch (Výjimka e) { String exceptionData = e.getCause().getMessage(); BASE_LOGGER.error("Došlo k chybě, tj. : " + výjimkaData + " při provádění pohybu myši v selenu "); } }

Chcete-li se dozvědět vše o Příkaz selenového webdriveru naleznete zde .

Akce na klávesnici - třída akcí v selenu

Co jsou akce klávesnice a kde jsou vyžadovány:

Akce klávesnice znamená, že operace jsou přímo prováděny z klávesnice, například řekněme, že se pokoušíme provádět Contrl + A společně nebo Control + C společně nebo provádíme Key Up nebo Keydown tlačítko z klávesnice při interakci s WebElements.

Můžeme provést několik interakcí s klávesnicí pomocí třídy Akce v selenu

poslat klíče v selenu :

Můžeme provést operaci sendKeys pomocí třídy Akce v selenu následujícím způsobem:

public void sendKeysWithActionClass(By locator) { try { WebElement element = driver.findElement(locator); Akce akce = nové Akce(ovladač); actions.sendKeys("Zadávání dat z klávesnice "); // Provádění akcí klávesnice po stisknutí kláves Control a c společně actions.sendKeys(Keys.CONTROL); actions.sendKeys("c"); actions.build().perform(); } catch (Výjimka e) { String exceptionData = e.getCause().getMessage(); } }

KeyUp v selenu :

Podobně můžeme provádět operace KeyUp s třídou Akce v selenu následujícím způsobem:

    public void keyUpWithActionClass(By locator) { try { WebElement element = driver.findElement(locator); Akce akce = nové Akce(ovladač); actions.sendKeys("Zadávání dat z klávesnice "); // Provádějte akce na klávesnici po stisknutí kláves Control a c spolu s akcí keyUp.keyUp(Keys.CONTROL); actions.sendKeys("c"); actions.build().perform(); } catch (Výjimka e) { String exceptionData = e.getCause().getMessage(); } }

KeyDown v selenu

Můžeme provést operaci keyDown pomocí opět třídy Akce v selenu v níže uvedeném přístupu:

public void keyDownWithActionClass(By locator) { try { WebElement element = driver.findElement(locator); Akce akce = nové Akce(ovladač); actions.sendKeys("Zadávání dat z klávesnice "); // Provádějte akce klávesnice po stisknutí kláves Control a V spolu s akcí keyDown.keyDown(Keys.CONTROL); actions.sendKeys("v"); actions.build().perform(); } catch (Výjimka e) { String exceptionData = e.getCause().getMessage(); } }

Proč investovat do čističky vzduchu?: Tím jsme s třídou Actions hotovi v selenu, v nadcházejícím tutoriálu JavascriptExecutor v selenu modulárním, ale vyčerpávajícím způsobem. Učit se Příkaz Selenium je vyčerpávající můžete se zde také podívat na přípravu Kritické otázky týkající se selenu, na které se můžete obrátit zde.

Zanechat komentář