Skip to content

Selenium 簡介

Selenium WebDriver 介紹

Selenium WebDriver 是一種廣泛使用的自動化網頁應用測試工具,它支援多種瀏覽器和編程語言,能夠模擬用戶操作網頁的行為,用於測試網頁應用的功能和性能。

環境設置

安裝 WebDriver

  1. 下載 WebDriver:視您使用的瀏覽器類型(如 Chrome、Firefox)選擇對應的 WebDriver。
  2. 安裝 WebDriver:將下載的 WebDriver 放置於指定路徑,並設置系統環境變數,使其在命令列中可用。

以 Chrome 為例,你需要下載 ChromeDriver,這是一個與 Chrome 瀏覽器通信的 WebDriver。你可以從以下網址下載 ChromeDriver

下載後,你需要將 ChromeDriver 放置在系統的 PATH 中,或者你可以在你的程式碼中指定它的位置。例如,如果你將 ChromeDriver 放在 /usr/local/bin 目錄下,你可以在終端機中使用以下命令來更新你的 PATH:

export PATH=$PATH:/usr/local/bin

Windows 請搜尋環境變數,並在系統變數中新增 chromedriver_win32 存放的目錄。

配置 WebDriver

  1. 安裝程式語言綁定:選擇您的開發語言(如 Java、Python)並安裝對應的 Selenium 庫。
  2. 驗證安裝:通過簡單的測試腳本驗證 WebDriver 是否正確安裝和配置。

配置 WebDriver 主要涉及到安裝程式語言的 Selenium 綁定。以下是 TypeScript, Python 和 Java 的安裝示例:

TypeScript

先安裝 selenium-webdriver:

npm install selenium-webdriver

然後,你可以使用以下的 TypeScript 程式碼來驗證 WebDriver 是否正確安裝和配置:

import { Builder, By, Key, until } from 'selenium-webdriver';
import 'selenium-webdriver/chrome';

(async function example() {
    let driver = await new Builder().forBrowser('chrome').build();
    try {
        await driver.get('https://www.google.com');
        console.log(await driver.getTitle());
    } finally {
        await driver.quit();
    }
})();

在這個範例中,我們創建了一個新的 WebDriver 實例,打開了 Google 的首頁,打印了頁面的標題,然後關閉了瀏覽器。如果你能夠成功運行這些程式碼,並看到正確的輸出,那麼你的 WebDriver 就已經正確安裝和配置了。

Python

pip install selenium

接著,你可以使用以下的 Python 程式碼來驗證 WebDriver 是否正確安裝和配置:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://www.google.com')
print(driver.title)
driver.quit()

Java

如果你使用 Java,你需要下載 Selenium 的 Java 綁定,並將其添加到你的項目的類路徑中。你可以從以下網址下載 Selenium 的 Java 綁定:https://www.selenium.dev/downloads/

然後,你可以使用以下的 Java 程式碼來驗證 WebDriver 是否正確安裝和配置:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class Test {
    public static void main(String[] args) {
        WebDriver driver = new ChromeDriver();
        driver.get("https://www.google.com");
        System.out.println(driver.getTitle());
        driver.quit();
    }
}

在這兩個範例中,我們都創建了一個新的 WebDriver 實例,打開了 Google 的首頁,打印了頁面的標題,然後關閉了瀏覽器。如果你能夠成功運行這些程式碼,並看到正確的輸出,那麼你的 WebDriver 就已經正確安裝和配置了。

基本操作

元素定位

  • 使用 WebDriver 提供的定位方法(如 find_element_by_idfind_element_by_name)來找到網頁元素。

元素互動

  • 對網頁元素進行點擊、輸入文字、獲取屬性等操作。

瀏覽器控制

  • 控制瀏覽器後退、前進、刷新以及關閉。

測試案例設計原則

  • 確保測試案例的獨立性和可重用性。
  • 使用斷言來驗證測試結果。
  • 組織和管理測試代碼,使其易於維護。

高級定位技巧

XPath

  • 使用 XPath 語法定位具有複雜結構或屬性的元素。

CSS Selectors

  • 使用 CSS 選擇器快速準確地定位元素。

處理複雜的網頁互動

  • 對下拉選單、彈窗和框架進行操作,這可能涉及到元素的特殊處理和瀏覽器窗口的切換。

Selenium Grid

Selenium Grid 允許在不同的機器和瀏覽器上並行執行測試,從而提高測試的效率和覆蓋範圍。

自動化測試的最佳實踐

  • 設計全面的測試計劃,包括測試範圍、方法和目標。
  • 定期維護和更新測試腳本以應對應用的變化。
  • 利用報告和日誌來追蹤測試結果和性能問題。