Krytyczne 12 metod javascriptexecutor w selenie

W tej części samouczka zamierzamy szczegółowo omówić javascriptexecutor w selenie, a wszystkie prawdopodobne operacje można by wykonać za pomocą javascriptexecutor w selenie pod kątem WebAutomation. 

Co to jest javascriptexecutor w selenie 

W bibliotece Selenium javascriptexecutor jest interfejsem, który jest wdrażany w kilku klasach, takich jak ChromeDriver, FirefoxDriver, RemoteWebDriver, EdgeDriver, EventFiringWebDriver, InternetExplorerDriver itp. W celu obsługi różnych operacji związanych z Javascriptem w stosunku do odpowiednich sterowników przeglądarki.

JavaScriptExecutor w Selenium
JavaScript Executor w Selenium

Typy skryptów Java w Selenium i jego metody: 

Dostępne są dwa rodzaje metod JavaScript: 

Różnica między executeAsyncScript a executeScript:

wykonajAsyncScript  : Ten typ wykonawcy skryptu Java jest używany do wykonywania asynchronicznego kodu JavaScript w kontekście aktualnie wybranej ramki lub okna.

executeScript: Ten typ JavaScript scripttexecutor, który zasadniczo wykonuje synchroniczny kod JavaScript w kontekście aktualnie wybranej ramki lub okna. 

 

Operacja, którą można wykonać za pomocą modułu wykonawczego javascript w selenie: 

Istnieje wiele kluczowych operacji internetowych, które wykonuje się, wykonując JavaScript w sterowniku przeglądarki, aby osiągnąć określone operacje, takie jak: 

Omówmy wszystkie operacje wymienione powyżej: 

Kliknięcie selenu javascript 

Możemy wykonać operację kliknięcia w Selenium z operacją Javascript w poniższym podejściu: 

public void jsClick() { Element WebElement = driver.findElement(By.xpath("Xpath_OF_Element")); JavascriptExecutor jscriptExecutor = (JavascriptExecutor) sterownik; jscriptExecutor.executeScript("argumenty[0].click();", element); }

Selenium javascript wprowadź tekst

Możemy wykonać operację sendkeys w Selenium z operacją Javascript w poniższym podejściu: 

public void jsSendKeys() { JavascriptExecutor jscriptExecutor = (JavascriptExecutor) sterownik; jscriptExecutor.executeScript("document.getElementById('id_elementu').value='ENTER_THE_TEXT_HERE';"); }

Pole wyboru Selenium javascript 

Moglibyśmy skorzystać z opcji w kratę= prawda lub fałsz w zależności od przypadków użycia do wykonania operacji CheckBox z Javascriptem w Selenium.

public void jsCheckBoxOps() { JavascriptExecutor jscriptExecutor = (JavascriptExecutor) sterownik; jscriptExecutor.executeScript("document.getElementById('id_of_the_element').checked=false;"); }

Generowanie alarmów Selenium javascript

Aby wygenerować alert, musimy użyć „alert ('ALERT_TEXT_TO_BE_SHOWN');”Podczas wykonywania operacji za pomocą JavaScript.

public void jsAlertGeneration() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) sterownik; jscriptExecutor.executeScript("alert('ALERT_TEXT_TO_BE_SHOWN');"); }

Odśwież stronę Selenium javascript

Aby odświeżyć stronę internetową w Selenium za pomocą JavaScript Executor, możemy użyć history.go (0).

public void jsRefreshPage() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) sterownik; jscriptExecutor.executeScript("history.go(0)"); }

Selenium javascript, aby uzyskać wewnętrzny tekst strony internetowej

Aby pobrać cały tekst wewnętrzny, możemy użyć dokument.element_dokumentu.tekst wewnętrzny;

public String jsFetchInnerText() { Sterownik JavascriptExecutor jscriptExecutor= (JavascriptExecutor); return String.valueOf(jscriptExecutor.executeScript("zwróć dokument.documentElement.innerText;")); }

Selenium javascript pobierz tytuł strony 

Aby zwrócić tytuł strony, możemy użyć tytuł dokumentu; wraz z Javascript Executorem w Selenium.

public String jsWebPageTitle() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) sterownik; return String.valueOf(jscriptExecutor.executeScript("zwróć dokument.tytuł;")); }

Selenium javascript, aby uzyskać domenę 

Aby pobrać nazwę domeny, której możemy użyć dokument.domena;

public String jsFetchDomain() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) sterownik; return String.valueOf(jscriptExecutor.executeScript("zwróć dokument.domena;")); }

Selenium javascript, aby uzyskać adres URL strony internetowej

 

Aby pobrać adres URL za pomocą modułu wykonawczego JavaScript z Selenium, moglibyśmy użyć dokument.URL;

public String jsFetchURL() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) sterownik; return String.valueOf(jscriptExecutor.executeScript("zwróć dokument.URL;")); }

Selenium javascript Przewijanie strony internetowej 

Możemy wykonać przewijanie na wiele sposobów za pomocą JavaScript, dwa z tych podejść są pokazane poniżej we fragmencie kodu, takie jak:

public void scrollIntoView(By locator) { spróbuj { JavascriptExecutor executor = (JavascriptExecutor) sterownik; Element WebElement = driver.findElement(lokator); executor.executeScript("argumenty[0].scrollIntoView(true);", element); BASE_LOGGER .info("dla lokalizatora została wykonana operacja scrollIntoView: " + String.valueOf(element)); } catch (Wyjątek e) { String wyjątekData = e.getCause().getMessage(); BASE_LOGGER.error("Napotkano błąd np.: " + wyjątekData + " podczas wykonywania scrollIntoView na elemencie : " + lokalizator); } }

Możemy również określić wartość przewijania (ilość przewijania) w następujący sposób:

public void jsScroll() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) sterownik; jscriptExecutor.executeScript("window.scrollBy(0,1000)"); }

Selenium javascript, aby przejść do innej strony

Możemy przejść do innej strony internetowej / ekranu, podając bezpośrednio lokalizację adresu URL w javascriptexecutor w Selenium. 

public void pageNavigationWithJS() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) sterownik; jscriptExecutor.executeScript("window.location = 'PageURL_To_Navigate'"); }

Selenium javascript Aby znaleźć i kliknąć ukryty element

Moglibyśmy bezpośrednio kliknąć ukryty element z JavaScriptem z zaplecza, mimo że element nie jest widoczny, oto fragment kodu dla tego samego:

public void clickOnHiddenElement() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) sterownik; WebElement hiddenElement=driver.findElement(By.id("ID_OF_ELEMENT")); jscriptExecutor.executeScript("argumenty[0].click();", hiddenElement); }

Wnioski:

Do tej pory dyskutowaliśmy o Javascript i różnych operacjach, które mają być wykonywane przy użyciu modułu wykonawczego Javascript w Selenium, zachęcamy do przejrzenia pełny tutorial Selenium aby lepiej uchwycić wszystkie różne aspekty tego samego. W nadchodzącej serii Segmenty samouczka omówimy więcej na temat Selenium Automatyzacja Framework i inne najnowsze technologie do pracy z Selenium i złam każdy zaawansowany wywiad w Selenium, przez który możesz przejść tutaj.

Zostaw komentarz