WebDriverManager는 Selenium WebDriver에 필요한 드라이버(예: chromedriver, geckodriver, msedgedriver 등)의 관리(예: 다운로드, 설정 및 유지 관리)를 완전 자동화된 방식으로 수행하는 오픈 소스 Java 라이브러리입니다. 또한 WebDriverManager는 로컬 시스템에 설치된 브라우저 검색, WebDriver 개체(예: ChromeDriver
, FirefoxDriver
, EdgeDriver
등) 빌드, Docker 컨테이너에서 브라우저를 원활하게 실행하는 기능과 같은 기타 관련 기능을 제공합니다.
버전 5부터 WebDriverManager의 문서가 여기로 이동되었습니다. 이 사이트에는 WebDriverManager의 모든 기능, 예제, 구성 및 고급 기능이 포함되어 있습니다.
WebDriverManager의 주요 용도는 드라이버 관리 자동화입니다. 이 기능을 사용하려면 WebDriverManager API(예: Chrome의 경우 chromedriver()
)에서 지정된 관리자를 선택하고 setup()
메서드를 호출해야 합니다. 다음 예는 JUnit 5, Selenium WebDriver 및 WebDriverManager를 사용하는 테스트 케이스의 뼈대를 보여줍니다.
import org . junit . jupiter . api . AfterEach ;
import org . junit . jupiter . api . BeforeAll ;
import org . junit . jupiter . api . BeforeEach ;
import org . junit . jupiter . api . Test ;
import org . openqa . selenium . WebDriver ;
import org . openqa . selenium . chrome . ChromeDriver ;
import io . github . bonigarcia . wdm . WebDriverManager ;
class ChromeTest {
WebDriver driver ;
@ BeforeAll
static void setupAll () {
WebDriverManager . chromedriver (). setup ();
}
@ BeforeEach
void setup () {
driver = new ChromeDriver ();
}
@ AfterEach
void teardown () {
driver . quit ();
}
@ Test
void test () {
// Your test logic here
}
}
또는 create()
메서드를 사용하여 드라이버를 자동으로 관리하고 WebDriver
개체를 한 줄로 인스턴스화할 수 있습니다. 예를 들어 다음과 같습니다.
import org . junit . jupiter . api . AfterEach ;
import org . junit . jupiter . api . BeforeEach ;
import org . junit . jupiter . api . Test ;
import org . openqa . selenium . WebDriver ;
import org . openqa . selenium . chrome . ChromeDriver ;
import io . github . bonigarcia . wdm . WebDriverManager ;
class ChromeCreateTest {
WebDriver driver ;
@ BeforeEach
void setup () {
driver = WebDriverManager . chromedriver (). create ();
}
@ AfterEach
void teardown () {
driver . quit ();
}
@ Test
void test () {
// Your test logic here
}
}
WebDriverManager 및 구성 기능에 의해 구현된 드라이버 확인 알고리즘에 대한 자세한 내용은 설명서를 읽어보세요.
WebDriverManager 5에서 사용할 수 있는 또 다른 관련 새 기능은 즉시 Docker 컨테이너에 브라우저를 생성하는 기능입니다. 이 기능을 사용하려면 테스트를 실행하는 컴퓨터에 Docker 엔진을 설치해야 합니다. 이를 사용하려면 지정된 관리자의 create()
와 함께 browserInDocker()
메서드를 호출해야 합니다. 이런 방식으로 WebDriverManager는 Docker Hub에서 이미지를 가져오고, 컨테이너를 시작하고, 이를 사용하기 위해 WebDriver 개체를 인스턴스화합니다. 다음 테스트는 Docker에서 Chrome을 사용하는 간단한 예를 보여줍니다. 이 예에서는 noVNC를 사용하여 브라우저 세션 기록 및 원격 액세스도 활성화합니다.
import org . junit . jupiter . api . AfterEach ;
import org . junit . jupiter . api . BeforeEach ;
import org . junit . jupiter . api . Test ;
import org . openqa . selenium . WebDriver ;
import io . github . bonigarcia . wdm . WebDriverManager ;
class DockerChromeVncTest {
WebDriver driver ;
WebDriverManager wdm = WebDriverManager . chromedriver (). browserInDocker ()
. enableVnc (). enableRecording ();
@ BeforeEach
void setup () {
driver = wdm . create ();
}
@ AfterEach
void teardown () {
wdm . quit ();
}
@ Test
void test () {
// Your test logic here
}
}
WebDriverManager는 개방적이고 투명한 커뮤니티를 위한 온라인 자금 조달 플랫폼인 OpenCollective의 일부입니다. 후원자(예: 개인 기부 또는 정기 기부) 또는 후원자(예: 회사의 정기 기부)로 기부하여 프로젝트를 지원할 수 있습니다.
또는 커피를 사서 내 작업을 인정할 수도 있습니다.
WebDriverManager(저작권 © 2015-2024)는 Boni Garcia가 만들고 유지 관리하는 프로젝트이며 Apache 2.0 라이선스 조건에 따라 라이선스가 부여됩니다.