불행히도 Selenium WebDriver 2.53.0은 Firefox 47.0과 호환되지 않습니다. Firefox 브라우저 ( FirefoxDriver
) 를 처리하는 WebDriver 구성 요소 는 중단됩니다. 버전 3.0부터 Selenium WebDriver는 geckodriver
Firefox 브라우저를 관리하기 위해 바이너리 가 필요 합니다. 여기 와 여기에 더 많은 정보가 있습니다 .
따라서 Firefox 47.0을 Selenium WebDriver 2.53.0과 함께 브라우저로 사용하려면 Firefox 드라이버 ( geckodriver
이전 버전 0.8.0 의 바이너리 파일) 를 다운로드 wires
하고 절대 경로를 다음 webdriver.gecko.driver
과 같이 변수 로 내 보내야 합니다 . Java 코드의 시스템 속성 :
System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver");
다행히 WebDriverManager 라이브러리 가이 작업을 수행 할 수 있습니다. 즉, 컴퓨터 (Linux, Mac 또는 Windows)에 적합한 Marionette 바이너리를 다운로드하고 적절한 시스템 속성 값을 내보낼 수 있습니다. 이 라이브러리를 사용하려면이 종속성을 프로젝트에 포함해야합니다.
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>4.1.0</version>
</dependency>
... 그리고 WebDriver를 사용하기 전에 프로그램에서 다음 줄을 실행하십시오.
WebDriverManager.firefoxdriver().setup();
WebDriver를 사용하는 JUnit 4 테스트 케이스의 전체 실행 예제는 다음과 같습니다.
public class FirefoxTest {
protected WebDriver driver;
@BeforeClass
public static void setupClass() {
WebDriverManager.firefoxdriver().setup();
}
@Before
public void setupTest() {
driver = new FirefoxDriver();
}
@After
public void teardown() {
if (driver != null) {
driver.quit();
}
}
@Test
public void test() {
// Your test code here
}
}
Marionette는 미래 (WebDriver 3+ 및 Firefox 48+의 경우)를위한 유일한 옵션이 될 것이지만 현재 (작성 시점에 0.9.0 버전)은 그다지 안정적이지 않습니다. 자세한 내용 은 Marionette 로드맵 을 참조하십시오.
최신 정보
Selenium WebDriver 2.53.1 은 2016 년 6 월 30 일에 출시되었습니다 . 브라우저 FirefoxDriver
로 Firefox 47.0.1 과 함께 다시 작동 합니다.