Doświadczenie większości ludzi zaczynających zabawę z Selenium kończy się zazwyczaj komunikatem o błędzie:
java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver
system property; for more information, see https://chromedriver.chromium.org/. The latest version can be
downloaded from https://chromedriver.chromium.org/downloads
Następnie muszą przeszukać sieć w poszukiwaniu instrukcji, co zrobić ze sterownikami, które pobierają.
Selenium od teraz z wraz z bateriami w zestawie.
Projekt Selenium chce udoskonalić UX , a jednym z pierwszych kroków jest pomoc wszystkim użytkownikom w sposobie konfigurowania ich środowiska. Konfiguracja sterowników przeglądarki przez wiele lat była zadaniem, które użytkownicy musieli wykonać samodzielnie, by mieć działające środowisko do uruchomienia Selenium.
Jednorazowa konfiguracja sterownika przeglądarki nie jest skomplikowana, ale gdy nowe wersje przeglądarek pojawiają się coraz częściej i nową wersję Chrome/Firefox/Edge mamy co 4-6 tygodni, zadanie utrzymania sterownika przeglądarki w synchronizacji z wersją przeglądarki nie jest już takie proste.
Selenium Manager jest nowym narzędziem, które pomaga skonfigurować środowisko pracy do uruchomienia zaraz po wyjęciu Selenium z pudełka. Beta 1 Selenium Manager skonfiguruje sterowniki przeglądarki dla Chrome, Firefox i Edge, jeśli nie są one obecne w PATH.
Aby uruchomić test Selenium z Selenium 4.6, wystarczy mieć zainstalowane Chrome, Firefox lub Edge. Jeśli masz już zainstalowane sterowniki przeglądarki, ta funkcja zostanie zignorowana. Jeśli jednak chcesz pomóc w testach, usuń swoje sterowniki lub usuń menedżera sterowników innego dostawcy, a wszystko powinno "po prostu działać". Jeżeli jednak nie działa, twórcy Selenium proszą o raport błędu.
Przyszłe wydania Selenium Manager będą również pobierać przeglądarki, jeśli tylko będzie to konieczne.
Rozwiązanie jest zainspirowane rozwiązaniami Open Source tworzonymi przez społeczność Selenium. Przez lata pojawiło się kilka projektów dostawców w ekosystemie Selenium takich jak: WebDriverManager dla Javy, webdriver-manager dla Pythona, webdrivers dla Ruby oraz WebDriverManager.Net dla C#.
Wszystkie te projekty posłużyły jako inspiracja i jasny znak, że społeczność potrzebuje tej funkcji wbudowanej w Selenium. Dodatkowo ankieta przeprowadzona w styczniu 2021 roku pokazała, że większość użytkowników Selenium chce pozbyć się problemu zarządzania sterownikami. Dodatkowym argumentem stało się również to, że strona instalacji sterowników jest zdecydowanie najczęściej odwiedzana w ramach całej dokumentacji Selenium.
Selenium Manager jest narzędziem CLI (Command-Line Interface) napisanym w Rust, aby umożliwić uruchomienie go na wielu platformach. W wersji beta 1, Selenium Manager jest wywoływany przez Selenium, gdy żaden sterownik przeglądarki nie został wykryty w PATH lub gdy nie jest używany żaden menedżer sterowników innego dostawcy.
Sprawdź różne parametry i opcje, z jakimi można uruchomić narzędzie:
$ ./selenium-manager --help
Szybki przykład pokazujący to, jak ChromeDriver zostaje skonfigurowany, można zobaczyć poniżej:
$ ./selenium-manager --browser chrome
INFO /home/boni/.cache/selenium/chromedriver/linux64/106.0.5249.61/chromedriver
Selenium Manager jest wciąż w fazie rozwoju, nowe funkcje będą sukcesywnie dodawane, a defekty będą naprawiane wraz z każdym wydaniem. Twórcy Selenium zapraszają członków społeczności Selenium do zgłaszanie pomysłów i błędów poprzez dostępny issue tracker.
Miłego testowania!