九號工具站
返回列表

GitHub Copilot 寫測試腳本實戰指南:QA 用 AI 寫 Playwright 和 Selenium 測試

手把手教 QA 工程師用 GitHub Copilot 撰寫 Playwright 和 Selenium 自動化測試腳本,含 Prompt 技巧、實際案例、常見陷阱與最佳實踐。

GitHub Copilot Playwright Selenium AI 寫測試 自動化測試 QA Copilot

最後更新:2026-05-24

1. 為什麼 QA 要用 Copilot 寫測試?

QA 工程師每天花大量時間在寫重複性高的測試腳本上:登入流程、表單驗證、CRUD 操作。這些測試邏輯相似,但手動寫每一個都很耗時。GitHub Copilot 能根據你的註解、函式名稱和上下文,自動補全測試程式碼。不是取代你的判斷力,而是加速你的雙手。

  • 速度提升:重複性高的測試腳本,撰寫時間平均減少 50-70%
  • 減少語法錯誤:Copilot 產出的程式碼語法正確率很高,減少 Debug 語法問題的時間
  • 學習新框架:即使你不熟悉 Playwright,Copilot 也能根據你的意圖產出正確的 Api 呼叫
  • 保持專注:讓 Ai 處理「怎麼寫」,你專注在「測什麼」

2. 環境準備:5 分鐘設定好

開始之前,需要準備以下工具。

  • Vs Code:安裝最新版 Visual Studio Code
  • Github Copilot 擴充套件:在 Vs Code 擴充商店搜尋並安裝。免費方案每月有使用額度,付費版 Us$10/月
  • Node.Js:安裝 Node.Js 18+(Playwright 需要)
  • Playwright:執行 Npm Init Playwright@Latest 初始化專案
  • Python + Selenium(選用):如果你的團隊用 Python,Pip Install Selenium Pytest

小提示

  • 建議開啟 Copilot Chat(側邊欄),可以直接用對話方式請 AI 生成整段測試

3. Prompt 技巧:讓 Copilot 產出高品質測試

Copilot 的產出品質取決於你給的上下文。以下是實測最有效的 Prompt 技巧。

  • 技巧一 — 用註解描述測試意圖:在程式碼中寫清楚的註解,例如 // Test: User Login With Valid Credentials Should Redirect To Dashboard
  • 技巧二 — 先寫測試名稱:Test('Should Display Error When Password Is Less Than 8 Characters') 然後讓 Copilot 補完內容
  • 技巧三 — 提供 Page Object 上下文:先寫好 Page Object,Copilot 會根據可用的方法自動組合測試步驟
  • 技巧四 — 用 Copilot Chat 批量生成:在 Chat 中輸入「幫我根據以下頁面元素,產出登入功能的正向、負向和邊界值測試」
  • 技巧五 — 給範例讓 Ai 學風格:先手寫一個完整的測試當範例,後續的測試 Copilot 會模仿你的風格和模式

4. 實戰案例:Playwright 登入測試

以下是用 Copilot 生成 Playwright 登入測試的完整流程。你只需要寫好註解,Copilot 就能產出大部分程式碼。

  • Step 1:建立測試檔案 Login.Spec.Ts,寫下 Describe 和 Test 標題
  • Step 2:用註解描述每個步驟,例如 // Navigate To Login Page, Fill Email And Password, Click Submit
  • Step 3:Copilot 會根據你的描述產出 Page.Goto、Page.Fill、Page.Click 等呼叫
  • Step 4:審查並補充斷言(Copilot 常漏掉關鍵斷言)
  • Step 5:執行 Npx Playwright Test 驗證測試是否通過

小提示

  • Copilot 產出的 locator 可能不夠穩定,優先改用 data-testid 或 getByRole 等穩定選擇器
  • 一定要補充「負向測試」—— Copilot 通常只生成 happy path

5. 實戰案例:Selenium + Python API 測試

Python QA 團隊常用 Selenium + pytest 的組合。Copilot 在 Python 環境中同樣表現優秀。

  • 用 Docstring 描述測試目的:Def Test_Add_To_Cart(): 加上 """Verify That Clicking Add To Cart Button Increases Cart Count By 1"""
  • Copilot 會自動產出 Driver.Find_Element、Driver.Click、Assert 等語句
  • 搭配 Pytest Fixtures:先寫好 @Pytest.Fixture 的 Setup/Teardown,Copilot 會在測試中正確引用
  • 搭配 Conftest.Py:Copilot 能讀取 Conftest.Py 中的共用設定和 Fixtures,在新測試中正確使用

6. Copilot 產出測試的常見陷阱

AI 產出的測試不是直接能用的成品。以下是必須人工檢查的重點。

  • 斷言不足:Copilot 常常產出操作步驟但漏掉斷言,或只加了一個很弱的斷言。每個測試至少要有一個有意義的斷言
  • 等待策略錯誤:Ai 可能用 Page.Waitfortimeout(3000) 這種寫死的等待,應改為 Page.Waitforselector 或 Expect(Locator).Tobevisible()
  • Locator 不穩定:Ai 傾向用 Css Class 或 Xpath 當 Locator,這些在 Ui 變動時很容易壞。改用 Data-Testid 或 Playwright 的 Getbyrole
  • 缺少清理步驟:測試結束後沒有清理測試資料,會影響其他測試。確保有 Aftereach 或 Teardown
  • 過度依賴 Happy Path:Ai 生成的測試通常只涵蓋正常流程,你需要手動補充錯誤場景、邊界值和權限測試

注意事項

AI 產出的測試腳本必須經過人工審查後才能加入 CI/CD pipeline。未經審查的測試可能會產生假通過(false positive),給你錯誤的安全感。

7. 進階:用 Copilot Chat 批量生成測試

Copilot Chat 可以一次產出整個測試檔案,比逐行自動補全更有效率。

  • 整頁測試生成:「@Workspace 根據 Loginpage.Ts 的方法,幫我用 Playwright 產出完整的登入功能測試,包含正向、負向和邊界值」
  • 根據 Api 文件生成:「根據以下 Swagger Api 定義,幫我產出 Api 整合測試」然後貼上 Api Spec
  • 根據 Bug Report 生成回歸測試:「這個 Bug 是用戶輸入特殊字元時表單崩潰,幫我寫一個回歸測試確保修復有效」
  • 批量產出 Page Object:「根據這個 Html 頁面結構,幫我建立 Page Object Model,包含所有可互動元素」

小提示

  • 使用 @workspace 標籤讓 Copilot 讀取整個專案的上下文,產出的程式碼會更符合專案風格
  • 生成後用 npx playwright test --debug 逐步執行,快速找出需要修正的地方

8. 最佳實踐與團隊導入建議

以下是在團隊中成功導入 Copilot 寫測試的經驗總結。

  • 建立「Copilot 測試規範」:定義哪些測試適合讓 Ai 產出(Crud、表單驗證、Api 測試)、哪些必須手寫(安全測試、業務邏輯、探索性測試)
  • 先寫 Page Object 再讓 Ai 寫測試:有好的 Page Object 層,Copilot 產出的測試品質會大幅提升
  • 建立測試模板:在專案中放幾個寫得好的測試當範例,Copilot 會學習你的風格
  • Code Review 必須包含「Ai 產出標註」:讓 Reviewer 知道哪些是 Ai 產出的,重點審查這些部分
  • 每週回顧 Ai 產出的測試品質:追蹤 Ai 測試的假陽性率和維護成本,持續優化 Prompt 策略

重點整理

  • 1 GitHub Copilot 能根據註解和上下文自動產出測試腳本,QA 寫測試的速度可提升 2-3 倍
  • 2 關鍵不是讓 AI 從零寫測試,而是「給好的上下文」讓 AI 產出高品質的測試初稿
  • 3 Playwright + Copilot 是目前 CP 值最高的 AI 測試組合,兩者都有免費方案
  • 4 AI 產出的測試必須經過人工審查,特別注意斷言是否完整、等待策略是否合理
ℹ️

一般聲明

本站提供之資訊僅供參考,不保證其完整性與正確性。使用者應自行判斷資訊之適用性。

意見反饋