九号工具站
返回列表

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 产出的测试必须经过人工审查,特别注意断言是否完整、等待策略是否合理
ℹ️

一般声明

本站提供之资讯仅供参考,不保证其完整性与正确性。使用者应自行判断资讯之适用性。

意见反馈