GitHub Copilot 寫測試腳本實戰指南:QA 用 AI 寫 Playwright 和 Selenium 測試
手把手教 QA 工程師用 GitHub Copilot 撰寫 Playwright 和 Selenium 自動化測試腳本,含 Prompt 技巧、實際案例、常見陷阱與最佳實踐。
本指南由 Mark Liu 編整、實測校稿。內容會隨工具版本與市場變化持續更新,建議搭配實際情境調整應用。
為什麼 QA 要用 Copilot 寫測試?
-
›
速度提升:重複性高的測試腳本,撰寫時間平均減少 50-70%
-
›
減少語法錯誤:Copilot 產出的程式碼語法正確率很高,減少 Debug 語法問題的時間
-
›
學習新框架:即使你不熟悉 Playwright,Copilot 也能根據你的意圖產出正確的 Api 呼叫
-
›
保持專注:讓 Ai 處理「怎麼寫」,你專注在「測什麼」
環境準備: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 生成整段測試
Prompt 技巧:讓 Copilot 產出高品質測試
-
›
技巧一 — 用註解描述測試意圖:在程式碼中寫清楚的註解,例如 // 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 會模仿你的風格和模式
實戰案例:Playwright 登入測試
-
›
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
實戰案例:Selenium + Python API 測試
-
›
用 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,在新測試中正確使用
Copilot 產出測試的常見陷阱
-
›
斷言不足: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),給你錯誤的安全感。
進階:用 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 逐步執行,快速找出需要修正的地方
最佳實踐與團隊導入建議
-
›
建立「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 產出的測試必須經過人工審查,特別注意斷言是否完整、等待策略是否合理
QA 用 AI 測試 API、Web、App、Spec 完全指南:四大測試場景實戰教學
完整教學 QA 如何在 API 測試、Web 測試、App 測試和規格審查四大場景中運用 AI 工具,附具體 Prompt、工具推薦與實際操作步驟。
進階 Prompt 鏈教學 2026:多步驟推理與專業級 AI 工作流設計
Prompt Engineering 進階實戰。從 Chain of Thought、Few-shot、ReAct 到多 Agent 協作與 Prompt 鏈設計,搭配真實案例拆解,帶你打造媲美工程師級別的 AI 工作流。
AGENTS.md 對上 CLAUDE.md:我量了自己 948 行的設定檔後決定的拆法
AGENTS.md 已經進 Linux Foundation,但 Claude Code 到 2026 年 8 月仍只讀 CLAUDE.md。官方認可的匯入與符號連結兩種接法差在哪、Windows 為什麼會卡、我這個 repo 948 行的設定檔哪些該砍哪些該搬走,附一張四層分層表。
一般聲明
本站提供之資訊僅供參考,不保證其完整性與正確性。使用者應自行判斷資訊之適用性。