Geckodriver를 다운로드하세요 Firefox & Selenium

⚡ 스마트 요약

GeckoDriver용 Firefox Selenium W3C WebDriver 클라이언트와 Mozilla 사이에서 프록시 역할을 합니다. Firefox명령어를 번역합니다. Marionette 프로토콜. 이 가이드에서는 설치, 초기화 기법, 샘플 코드, 일반적인 예외 및 코어 호환성의 이점에 대해 설명합니다.

  • 🦊 브리지 역할: GeckoDriver가 연결됩니다 Selenium WebDriver 클라이언트 Firefox 를 사용하여 Mari오네트 프로토콜.
  • ⬇️ 먼저 설정을 하세요: 사용 중인 운영체제에 맞는 GeckoDriver 빌드를 Mozilla 공식 저장소에서 다운로드하십시오.
  • ⚙️ 세 가지 초기화 경로: Marionette 시스템 속성인 DesiredCapabilities를 통해 드라이버를 초기화하거나 Firefox옵션을 클릭합니다.
  • 🧪 샘플 워크플로우: JUnit @Before, @Test, @After와 같은 어노테이션을 사용하여 브라우저 수명 주기를 깔끔하게 관리할 수 있습니다.
  • 🛠️ 흔히 발생하는 오류 수정: SessionNotCreated 및 연결 거부 문제를 해결하려면 다음 사항을 조정하십시오. Firefox, Selenium그리고 드라이버 버전.
  • 🌐 W3C 장점: W3C WebDriver 표준은 버전 간 호환성을 제공하여 자동화 제품군의 유지 관리 부담을 줄여줍니다.

게코드라이버 인 Selenium

GeckoDriver란 무엇인가요? Selenium?

Gecko는 Mozilla에 내장된 웹 브라우저 엔진을 가리키는 용어입니다. Firefox 브라우저. GeckoDriver는 WebDriver를 지원하는 클라이언트(Eclipse, NetBeans, IntelliJ IDEA(등) 및 모질라 Firefox 간단히 말해, GeckoDriver는 브라우저와 브라우저를 연결하는 역할을 합니다. Selenium WebDriver 테스트 및 Mozilla Firefox.

전 Selenium 3, 모질라 Firefox 브라우저는 기본 브라우저였습니다. Selenium. 후 Selenium 3. 테스터는 스크립트를 사용하기 위해 초기화해야 합니다. Firefox GeckoDriver를 통해 명시적으로. Selenium W3C WebDriver 프로토콜을 사용하여 GeckoDriver에 요청을 보내고, GeckoDriver는 이를 라는 이름의 프로토콜로 변환합니다. Mari오네트. Firefox 그러면 명령을 이해합니다. transmit테드 인 더 Marionette 프로토콜 형식을 지정하고 실행합니다.

GeckoDriver 사용의 장점

Selenium WebDriver 버전 2.53은 Mozilla와 호환되지 않습니다. Firefox 버전 47.0 이상. 레거시 Firefox 이전 Mozilla에서 사용되는 드라이버 Firefox 빌드 기능은 더 이상 지원되지 않으며, 현재는 GeckoDriver 구현만 사용할 수 있습니다. 따라서 테스터는 Mozilla에서 자동화된 테스트를 실행하기 위해 GeckoDriver를 사용해야 합니다. Firefox 버전 47.0 이상.

기존 방식 대신 GeckoDriver를 사용하는 가장 큰 장점은 다음과 같습니다. Firefox 운전사는 호환성GeckoDriver는 다음을 기반으로 합니다. W3C WebDriver 프로토콜 와 소통하다 SeleniumW3C는 WebDriver에 대한 보편적으로 정의된 표준입니다. 즉, Selenium 개발자는 브라우저가 출시될 때마다 새로운 드라이버 버전을 만들 필요가 없습니다. 동일한 WebDriver 구현을 여러 브라우저 버전에서 사용할 수 있기 때문에 GeckoDriver가 기존 방식보다 선호됩니다. Firefox 운전사.

GeckoDriver를 다운로드하고 설치하는 방법 Selenium

GeckoDriver는 시스템에 직접 다운로드할 수 있는 실행 파일 형태로 배포됩니다. 아래 단계를 따라 GeckoDriver를 다운로드하고 설치하십시오. Selenium 오토메이션.

단계 1) 적절한 버전을 선택하세요.
공식 출시 페이지에서 https://github.com/mozilla/geckodriver/releases운영 체제 및 아키텍처에 맞는 적절한 GeckoDriver 빌드를 선택하십시오.

GeckoDriver를 다운로드하여 설치하세요. Selenium

단계 2) ExtracZIP 파일입니다.
ZIP 파일 다운로드가 완료되면, 예trac그 내용을 컴퓨터의 폴더에 저장하세요.

Extract GeckoDriver ZIP 파일

단계 3) 운전자의 위치를 ​​확인하세요.
예를 들면 폴더 경로를 기록해 두세요.trac드라이버를 저장합니다. 이 위치는 나중에 테스트 스크립트에서 드라이버를 인스턴스화하는 데 사용됩니다.

참고: GeckoDriver 위치

GeckoDriver를 초기화하는 방법

GeckoDriver를 초기화하는 방법에는 세 가지가 있습니다. Selenium 테스트 스크립트. 테스트 프레임워크에 가장 적합한 스크립트를 선택하세요. Selenium 번역.

1. DesiredCapability 사용

먼저 GeckoDriver에 대한 시스템 속성을 설정합니다.

구문 :

System.setProperty("webdriver.gecko.driver","Path to geckodriver.exe file");

예:

System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");

다음으로, 원하는 기능을 설정하세요. 원하는 기능은 다음과 같은 도움을 줍니다. Selenium 자동화된 테스트를 실행하는 데 필요한 브라우저 이름, 버전 및 운영 체제를 파악해야 합니다. 아래는 DesiredCapabilities 클래스를 사용하여 GeckoDriver를 구성하는 코드입니다.

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);

전체 코드는 다음과 같습니다.

System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);

2. 사용 Mari오네트 부동산

GeckoDriver는 아래와 같이 marionette 속성을 사용하여 초기화할 수도 있습니다.

System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");

위의 방법을 사용하여 GeckoDriver를 초기화하면 원하는 기능 코드는 다음과 같습니다. 지원 이 필요합니다.

3. 사용 Firefox형식

모질라 Firefox 버전 47 이상에서는 다음 사항이 드러납니다. Marionette 드라이버를 레거시 시스템으로 사용합니다. 이를 활용하여 Marionette 드라이버는 다음을 통해 호출할 수 있습니다. Firefox 아래와 같은 옵션이 있습니다.

FirefoxOptions options = new FirefoxOptions();
options.setLegacy(true);

Code 출시를 위해 Firefox GeckoDriver 사용

다음 JUnit-기반 예제는 완전하고 실행 가능한 예제를 보여줍니다. Selenium 테스트를 시작합니다 Firefox GeckoDriver를 통해 데모 페이지로 이동합니다. URL.

package com.guru99.demo;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class GeckoDriverDemo {

    String driverPath = "D:\\Guru99Demo\\GeckoDriver.exe";
    public WebDriver driver;

    @Before
    public void startBrowser() {
        System.setProperty("webdriver.gecko.driver", driverPath);
        DesiredCapabilities capabilities = DesiredCapabilities.firefox();
        capabilities.setCapability("marionette", true);
        driver = new FirefoxDriver(capabilities);
    }

    @Test
    public void navigateToUrl() {
        driver.get("https://demo.guru99.com/selenium/guru99home/");
    }

    @After
    public void endTest() {
        driver.quit();
    }

}

Code 설명

@Before 메소드

먼저 GeckoDriver의 시스템 속성을 geckodriver.exe 다운로드 위치로 설정했습니다. 또한 marionette 속성을 true로 설정했습니다. Selenium 를 사용하여 MariGeckoDriver와 통신하기 위한 onette 프로토콜입니다. 마지막으로 시작합니다. Firefox Desired Capabilities 객체를 사용하는 브라우저 인스턴스입니다.

다음 명령문을 사용하면 이러한 설정이 가능합니다.

System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);

@시험 방법

사용자가 지정한 위치로 이동합니다. URL 붙박이를 사용하여 get 제공하는 방법 Selenium 아래 그림과 같이 WebDriver를 사용합니다.

driver.get("https://demo.guru99.com/selenium/guru99home/");

@After 메소드

마지막으로, 다음을 사용하여 브라우저 인스턴스를 닫습니다. quit 방법.

driver.quit();

Gecko가 아닌 스크립트를 Gecko로 수정하세요

이전에 사용했던 GeckoDriver 이외의 스크립트 Selenium 3번은 간단했습니다. 단순히 인스턴스를 생성하면 됩니다. Firefox 드라이버를 사용하고 인스턴스 변수를 사용했습니다.

@Before
public void startBrowser() {
    driver = new FirefoxDriver();
}

GeckoDriver용 스크립트로 변환하려면 geckodriver.exe의 위치를 ​​가리키는 코드 한 줄만 추가하면 됩니다.

@Before
public void startBrowser() {
    System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe");
    driver = new FirefoxDriver();
}

GeckoDriver 사용 중 발생하는 일반적인 예외 사항

다음은 GeckoDriver 사용 중 발생하는 일반적인 예외 사항과 해결 방법 목록입니다.

이 예외는 사용자가 인스턴스를 생성하려고 할 때 발생합니다. Firefox GeckoDriver에 대한 시스템 속성을 설정하지 않고 드라이버를 실행하는 경우입니다. 이는 일반적으로 다음과 같은 상황에서 발생합니다. Selenium 변경 사항을 알지 못하는 초보자 Selenium 3은 이전 버전과 비교한 수치입니다.

해결 방법은 아래와 같이 GeckoDriver의 시스템 속성에 geckodriver.exe 파일의 위치를 ​​설정하는 것입니다.

System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\geckodriver.exe");

Mozilla GeckoDriver 인스턴스를 생성하기 전에 GeckoDriver의 속성을 설정해야 한다는 점에 유의하십시오. Firefox 운전사.

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms.

이 예외는 일반적으로 다음과 같은 경우에 발생합니다. Firefox 버전이 최신 릴리스로 업그레이드되었습니다. 해결 방법은 두 가지 모두를 업데이트하는 것입니다. Selenium JAR 파일과 GeckoDriver를 최신 호환 버전으로 업데이트한 다음 스크립트를 다시 실행하세요.

org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session.

이 예외는 간의 호환성 문제로 인해 발생합니다. Selenium 그리고 GeckoDriver. GeckoDriver는 다음과 함께 작동합니다. Firefox 버전 47 이상. 업그레이드를 통해 문제를 해결할 수 있습니다. Firefox 버전 47 이상으로 업그레이드하세요.

WebDriver Exception: Connection Refused

이 예외는 WebDriver가 연결을 설정할 수 없을 때 발생합니다. Firefox이 문제는 다음과 같은 방법 중 하나를 사용하여 해결할 수 있습니다.

  • 사용 driver.quit() WebDriver의 이전 인스턴스를 삭제하는 메서드입니다.
  • 자동화 테스트를 실행하기 전에 브라우저 캐시를 삭제하세요.
  • 프로젝트 작업 공간을 정리하세요 Eclipse IDE.
  • 항상 최신 버전을 사용하십시오. Selenium GeckoDriver는 최신 안정 버전과 함께 제공됩니다. Firefox 놓습니다.

자주 묻는 질문

아니요. GeckoDriver는 W3C WebDriver 표준을 구현하는 프록시 실행 파일입니다. Marionette는 내장된 자동화 프로토콜입니다. FirefoxGeckoDriver는 WebDriver 명령어를 변환합니다. Mari오네트가 보내는 메시지 Firefox 실행할 수 있습니다.

최신 GeckoDriver 빌드는 공식적으로 다음을 목표로 합니다. Firefox 91 ESR 이상 버전. 최소 및 최대 요구 사항을 확인하려면 항상 Mozilla의 GitHub 페이지에서 GeckoDriver 릴리스 노트를 확인하십시오. Firefox 다운로드한 빌드에서 지원하는 버전입니다.

GeckoDriver를 시스템 PATH에 추가하는 것은 선택 사항이지만 편리합니다. PATH에 추가되어 있으면 System.setProperty 호출을 생략할 수 있습니다. 그렇지 않으면 설정 파일 내에서 드라이버 경로를 명시적으로 지정해야 합니다. Selenium 테스트 스크립트.

예. AI 기반 테스트 도구는 생성할 수 있습니다. Selenium WebDriver 코드는 로케이터를 제안하고 불안정한 스크립트를 자동으로 복구합니다. 이러한 기능은 일상적인 작업 속도를 높여주지만, 안정적인 작동을 위해서는 드라이버 버전, 대기 시간, 어설션에 대한 사람의 검토가 여전히 필요합니다. Firefox 오토메이션.

아니요. 현재 AI 에이전트는 WebDriver 프로토콜을 대체하는 것이 아니라 그 위에 구축되어 있습니다. GeckoDriver는 여전히 AI 에이전트와 WebDriver를 연결하는 다리 역할을 합니다. FirefoxAI 레이어는 기존 표준 위에 더욱 스마트한 위치 추적 기능, 자가 복구 기능, 자연어 기반 테스트 작성 기능을 추가합니다.

이 게시물을 요약하면 다음과 같습니다.