Selenium 是一個開源框架,可自動執行 Web 瀏覽器互動。它允許測試人員和開發人員使用各種程式語言建立腳本來控制瀏覽器行為,模擬使用者交互,例如單擊、鍵入和在頁面之間導航。
Selenium 由幾個組件組成:
硒被廣泛使用,因為它:
Selenium 用於各種場景,包括:
開始之前,請確保您具備以下條件:
要在 Java 中安裝 Selenium WebDriver:
在 IDE 中建立一個新的 Java 專案。
透過在 pom.xml 中包含以下內容,將 Selenium WebDriver 依賴項新增至您的專案(如果使用 Maven):
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.5.0</version> </dependency>
接下來,下載適用於您的瀏覽器的 WebDriver(例如,ChromeDriver for Chrome)並在測試腳本中設定其路徑:
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.5.0</version> </dependency>
這是開啟瀏覽器並導航到網站的簡單測試:
System.setProperty("webdriver.chrome.driver", "path/to/chromedriver"); WebDriver driver = new ChromeDriver();
執行此程式碼將開啟 Chrome,導航至 "https://www.example.com" ,列印頁面標題,然後關閉瀏覽器。
3.1 基本瀏覽器自動化
自動執行基本瀏覽器任務,例如開啟頁面和點擊按鈕:
import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class FirstSeleniumTest { public static void main(String[] args) { // Set the path to the ChromeDriver System.setProperty("webdriver.chrome.driver", "path/to/chromedriver"); // Initialize the WebDriver WebDriver driver = new ChromeDriver(); // Open a website driver.get("https://www.example.com"); // Print the page title System.out.println("Page title is: " + driver.getTitle()); // Close the browser driver.quit(); } }
此腳本導航至網站並點擊由其 ID 標識的按鈕。
您可以填寫表格或從元素中提取文字:
driver.get("https://www.example.com"); driver.findElement(By.id("someButton")).click();
對於動態變化的頁面,您可能需要等待元素載入:
// Enter text into a form field driver.findElement(By.name("username")).sendKeys("myUsername"); // Extract and print text from an element String text = driver.findElement(By.id("welcomeMessage")).getText(); System.out.println("Welcome message: " + text);
此程式碼等待元素變得可見,然後再與其互動。
處理多個視窗或框架:
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10)); WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("dynamicElement"))); element.click();
這允許您與不同視窗或框架中的元素進行互動。
透過以下方式保持您的測驗可維護:
對變數和方法使用描述性名稱。
為登入或導覽等常見任務建立可重複使用方法。
將測試邏輯與設定和拆卸程式碼分開。
除錯可能具有挑戰性。使用:
螢幕截圖:擷取測試失敗的螢幕截圖。
日誌:新增日誌來追蹤測試流程。
斷點:使用 IDE 的偵錯器單步偵錯程式碼。
透過以下方式加快測試速度:
最小化等待:使用明確等待而不是執行緒休眠。
並行執行:使用 Selenium Grid 或測試框架並行運行測試。
避免這些常見錯誤:
硬編碼值:使用變數或設定檔。
忽略異常:處理異常以避免靜默失敗。
跳過拆卸:在拆卸程式碼中始終關閉瀏覽器。
在本指南中,我們介紹了:
什麼是 Selenium 及其元件、如何在 Java 專案中設定 Selenium、自動化瀏覽器與 Selenium 互動的範例、編寫、調試和優化 Selenium 測試的技巧。
如果您有任何疑問或需要進一步說明,請隨時在下面發表評論!測試愉快!
閱讀更多文章:掌握 Java 中 Selenium 的技巧:包含程式碼範例和簡報的完整指南
以上是掌握 Java 中 Selenium 的技巧:包含程式碼範例和示範的完整指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!