selenium 4 new features
Ta recenzja zawiera listę różnic między Selenium 3 i Selenium 4 oraz nowymi funkcjami i zmianami w najnowszej wersji Selenium 4 (Alpha 3):
Wersja Selenium 4 (Alpha 3) jest już dostępna na rynku. Jak wszyscy wiemy, założycielem Selenium jest „Simon Stewart”, a teraz wprowadził nową wersję nie tylko dla sterowników sieciowych, ale także dla Grid i IDE.
Selenium 4 przyjął standardowy protokół sterownika sieciowego W3C. Wszystkie przeglądarki, takie jak Google Chrome, Safari, Internet Explorer, Edge i wiele innych, również są zgodne ze standardem W3C, dzięki czemu interakcja między sterownikiem przeglądarki a sterownikiem Selenium Web Driver będzie teraz oparta na standardowym protokole sterownika sieciowego W3C.
Czego się nauczysz:
Recenzja Selenium 4
Zmiany związane ze standardami W3C mają na celu ulepszenie wersji, ponieważ wcześniejsze polecenia Selenium działały bardzo różnie w różnych przeglądarkach.
Uwaga : Wersja Selenium 4 Alpha wydana w kwietniu 2019.
Pobierz Wersja Selenium 4 Alpha klikając „4.0.0-alpha-6”, jak pokazano na poniższym obrazku:
Biblioteki najnowszej wersji są obecne w Maven Central Repository.
Zalecana lektura => Selenium Remote Driver
Różnica między selenem 3 a selenem 4
Selen 3 | Selen 4 |
---|---|
Interakcja przeglądarki jest oparta na protokole przewodowym JSON, dzięki czemu wymaga kodowania i dekodowania interfejsu API | Jest zgodny ze standardowym protokołem W3C, dzięki któremu komunikacja sterownika i przeglądarki przebiega zgodnie ze standardową procedurą, nie wymaga kodowania i dekodowania API, więc komunikacja odbywa się bezpośrednio. |
Ważne zmiany związane z architekturą
# 1) Obsługuje usunięte dla niektórych przeglądarek: Teraz usunęli wsparcie dla przeglądarek Opera i Phantom JS. Użytkownicy Opery mogą korzystać z przeglądarki Chrome, podczas gdy użytkownicy Phantom JS mogą korzystać z Chrome lub Firefox w trybie bezgłowym.
# 2) Zoptymalizowana siatka selenu: Selenium Grid został opracowany dawno temu w 2011 roku.
Selenium 4 wymyślił nową architekturę, aby usunąć problemy, które wystąpiły wcześniej podczas instalacji i konfiguracji, także podczas połączenia między hubem a maszyną węzła.
Przyjrzyjmy się pokrótce siatce selenu, która zawiera dwa główne elementy:
- Węzeł: Służy do wykonywania testów na poszczególnych systemach komputerowych. Siatka może zawierać wiele węzłów.
- Centrum: Jest to centralny punkt, z którego kontroluje wszystkie maszyny obecne w sieci i zawiera tylko jeden koncentrator, który pomaga w przydzielaniu wykonywania testów do różnych węzłów.
Ale w Selenium 4 Grid jest bardzo elastyczny. Pozwala nam testować przypadki w wielu przeglądarkach, przeglądarkach różnych wersji, a także w różnych systemach operacyjnych. Nawet teraz nie ma potrzeby konfigurowania, aby uruchamiać koncentrator i węzły indywidualnie po uruchomieniu serwera przez użytkownika, siatka automatycznie działa zarówno jako węzeł, jak i jako koncentrator.
Obsługuje również zaawansowane narzędzia, takie jak Docker, AWS, Azure i wiele innych, przydatne w procesie DevOps. Teraz Grid ma bardziej przyjazny dla użytkownika interfejs użytkownika i zawiera istotne informacje związane z sesją, działaniem, pojemnością itp.
>> Kliknij tutaj po więcej informacji.
# 3) Standaryzowana dokumentacja: Dokumenty odgrywają istotną rolę dla każdego użytkownika, a dokumenty Selenium nie były aktualizowane od czasu Selenium 2.0.
Wraz z Selenium 4 zaktualizowali wszystkie oficjalne dokumenty związane z Selenium, które obejmują sterownik sieciowy, Grid i IDE, aby wyjaśnić najnowsze zmiany.
# 4) Ulepszenie w Selenium 4 IDE: Selenium IDE to narzędzie do nagrywania i odtwarzania, które służy do interakcji użytkownika z przeglądarką, a nowa wersja IDE jest dostępna z większą liczbą funkcji
Te funkcje obejmują:
- Poprawia obsługę przeglądarki. Teraz, dzięki nowej wersji, każdy dostawca przeglądarek może łatwo podłączyć się do najnowszego Selenium IDE.
- CLI Runner będzie oparty na NodeJS, a nie na HTML runner, i obsługuje równoległe wykonywanie, z którego dostarcza raport z całkowitą liczbą przypadków testowych, które przeszły / zakończyły się niepowodzeniem, wraz z czasem wykonania.
# 5) Lepsze monitorowanie: Proces rejestrowania i śledzenia żądań jest teraz ulepszony, aby zapewnić lepszą kontrolę procesu debugowania dla inżynierów automatyzacji, ponieważ nie ogranicza się tylko do DevOps.
Cechy selenu 4
Funkcje są następujące:
# 1) Przechwyć zrzut ekranu określonego elementu internetowego:
Wcześniej użytkownicy mogli zrobić zrzut całej strony, ponieważ nie było możliwości zrobienia zrzutu ekranu określonego elementu sieci. Ale dzięki Selenium 4 użytkownicy mogą wykonać zrzut ekranu określonego elementu internetowego.
Proszę znaleźć poniższy kod:
WebElement logo=driver.Findelement (By.xpath(“//div(@id=’divLogo’)//img”)); File file=logo.getScreenshotAs(OutputType.FILE); File destFile =new File(“logo.png”); FileUtils.copyFile(file,destfile);
# 2) Otwórz nową kartę w przeglądarce:
Teraz w Selenium 4 użytkownik może otworzyć adres URL w nowej karcie wraz z istniejącą kartą.
Na przykład: Jeśli użytkownik chce otworzyć 2 adresy URL w dwóch różnych zakładkach w tym samym czasie, może to zrobić za pomocą Selenium 4.
Proszę znaleźć poniższy kod w celach informacyjnych:
driver.get(https://www.google.com/); driver.switchTo().newWindow(WindowType.TAB); driver.navigate().to(https://www.crmpro.com/);
# 3) Otwórz nowe okno w przeglądarce:
Korzystając z Selenium 4, użytkownicy mogą również otworzyć nowe okno w tej samej przeglądarce.
Na przykład, jeśli użytkownik chce uzyskać dostęp do dwóch aplikacji w tej samej przeglądarce, może to teraz zrobić.
Proszę znaleźć poniższy kod w celach informacyjnych:
driver.get(https://www.google.com/); driver.switchTo().newWindow(WindowType.WINDOW); driver.navigate().to(https://www.crmpro.com/);
# 4) Lokalizacja obiektu:
Teraz dzięki Selenium 4 użytkownicy mogą uzyskać współrzędne, wymiary, wysokość, szerokość itp. Jako lokalizację elementów sieci lub obiektu.
Proszę znaleźć poniższy kod w celach informacyjnych:
WebElement logo1=driver.Findelement(By.xpath(“//div(@id=’divLogo’)//img”)); System.out.println(“Height:” +logo.getRect().getDimension().getHeight()); System.out.println(“Height:” +logo.getRect().getDimension().getWidth()); System.out.println(“X Location: “ +Logo.getRect().getX()); System.out.println(“Y Location: “ +Logo.getRect().getY());
# 5) Względne lokalizatory:
Są one również znane jako przyjazne lokalizatory, a ta funkcja jest dodawana, aby znaleźć element, który jest obecny w pobliżu innego elementu sieci lub, możemy powiedzieć, że może znaleźć elementy internetowe na podstawie lokalizacji GUI.
W Selenium 4 dodano pięć lokalizatorów:
najlepsze oprogramowanie do kopiowania DVD dla systemu Windows 10
- poniżej(): Element sieci Web znajdujący się poniżej dla określonego elementu.
- toLeftOf (): Docelowy element sieciowy, który znajduje się po lewej stronie określonego elementu.
- toRightOf (): Docelowy element sieciowy, który jest wyświetlany po prawej stronie określonego elementu.
- powyżej(): Element sieci Web znajdujący się powyżej dla określonego elementu.
- Blisko() : Docelowy element sieciowy, który jest oddalony (około 50 pikseli) od określonego elementu.
Uwaga: Wszystkie powyższe metody względnych lokalizatorów obsługują metodę „withTagName”.
Poniższy przykład dotyczy lokalizatorów toLeftof () i below ():
WebElement book; book = driver.Findelement(RelativeLocators.withTagName(“li”).toLeftOf(By.id(“pid1”)) .below(By.id(“pid2”))); String id1=book.getAttribute (“id1”);
Poniższy przykład dotyczy lokalizatorów toRightOf () i powyżej ():
WebElement book1; book1 = driver.Findelement(RelativeLocators.withTagName(“li”).toRightOf(By.id(“pid1”)) .above(By.id(“pid2”))); String id2=book1.getAttribute (“id2”);
# 6) Narzędzia deweloperskie Chrome:
W nowej wersji Selenium dokonali pewnych wewnętrznych zmian w API. Wcześniej w Selenium 3 sterownik Chrome rozszerza się bezpośrednio na klasę Remote Web Driver. Ale teraz w Selenium 4 klasa sterowników Chrome rozciąga się na sterownik Chromium. Klasa Chromium Driver ma kilka predefiniowanych metod dostępu do narzędzia deweloperskiego.
Uwaga: Sterownik Chromium rozszerza klasę sterownika Remote Web.
Korzystając z API możemy wykonać następujące operacje:
- Włącz sieć w trybie offline
- Włącz sieć online
- Pobierz dzienniki konsoli
- Witryna sieci Web Load Insure
Wniosek
W tym samouczku omówiliśmy wprowadzenie do nowej wersji Selenium 4, kilka nadchodzących funkcji związanych z Selenium Grid, IDE i Selenium WebDriver.
Widzieliśmy również krótki opis Relative Locators, narzędzi deweloperskich Chrome. Możemy wiele oczekiwać od Selenium 4, czy to od obsługi przeglądarki, dokumentacji, czy interfejsu użytkownika.
Autor: Ten artykuł został napisany przez Akanksha K, który ma ponad 7-letnie doświadczenie w jakości oprogramowania i tworzeniu ram testowych.
rekomendowane lektury
- 30+ najlepszych samouczków dotyczących selenu: naucz się selenu z prawdziwymi przykładami
- Selenium IDE Download Instalacja i podstawowe funkcje Wprowadzenie
- Wprowadzenie do Selenium WebDriver - samouczek Selenium # 8
- Samouczek Selenium ChromeDriver: Testy Selenium Webdriver w przeglądarce Chrome
- Jak używać Firebuga do tworzenia skryptów selenium - samouczek Selenium # 4
- Samouczek Selenium PhantomJS dla automatyzacji bezgłowej
- Akcje Selenium: Obsługuj podwójne i prawe kliknięcie w Selenium
- Lokalizatory selenu: identyfikacja elementów sieci Web za pomocą XPath w selenie (przykłady)