首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Maven 專案整合 Selenium WebDriver 環境建置完整指南

     編輯:Java 相關知識

前置需求

  • 已安裝並設定 Maven 環境變數
  • IDE (Eclipse/IntelliJ) 已整合 Maven
  • JDK 1.8+ (建議 11 或 17 LTS 版本)

建立 Maven 專案

  1. IDE 中建立新 Maven Project (選擇 `maven-archetype-quickstart`)
  2. 輸入 Group Id、Artifact Id、Version
  3. 完成專案骨架建立

POM 依賴設定

<dependencies>
  <!-- Selenium Java 客戶端 -->
  <dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>4.15.0</version> <!-- 請使用最新穩定版 -->
  </dependency>

  <!-- JUnit 5 測試框架 (可選) -->
  <dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter</artifactId>
    <version>5.10.2</version>
    <scope>test</scope>
  </dependency>

  <!-- WebDriverManager 自動管理驅動程式 (強烈推薦) -->
  <dependency>
    <groupId>io.github.bonigarcia</groupId>
    <artifactId>webdrivermanager</artifactId>
    <version>5.6.2</version>
  </dependency>
</dependencies>

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.11.0</version>
      <configuration>
        <source>11</source>
        <target>11</target>
        <encoding>UTF-8</encoding>
      </configuration>
    </plugin>
  </plugins>
</build>

現代化寫法:WebDriverManager 自動管理驅動程式

**不再需要手動下載 chromedriver/geckodriver 並設定 System Property!**

import io.github.bonigarcia.wdm.WebDriverManager;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class SeleniumTest {
    @Test
    public void testChrome() {
        // 自動下載對應 Chrome 版本的驅動程式並設定路徑
        WebDriverManager.chromedriver().setup();
        
        WebDriver driver = new ChromeDriver();
        try {
            driver.get("https://www.google.com");
            System.out.println("頁面標題: " + driver.getTitle());
        } finally {
            driver.quit();
        }
    }
}

瀏覽器驅動程式對應表

瀏覽器WebDriverManager 方法Driver 類別
Chrome`WebDriverManager.chromedriver().setup()``ChromeDriver`
Firefox`WebDriverManager.firefoxdriver().setup()``FirefoxDriver`
Edge`WebDriverManager.edgedriver().setup()``EdgeDriver`
Safari內建支援 (macOS)`SafariDriver`

常見問題排查

  • 版本不匹配:WebDriverManager 會自動偵測瀏覽器版本下載對應驅動程式,解決 90% 版本問題
  • 公司網路需 Proxy:設定 JVM 參數 `-Dhttp.proxyHost=... -Dhttp.proxyPort=...` 或配置 WebDriverManager Proxy
  • 無介面環境 (CI/CD):加入 Chrome 無頭模式選項
    ChromeOptions options = new ChromeOptions();
    options.addArguments("--headless", "--no-sandbox", "--disable-dev-shm-usage");
    WebDriver driver = new ChromeDriver(options);

官方資源連結

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved