

哈喽,宝子们!
你是否正在经历这样的日常:
点过几万次按钮,截过上千张图,熬过无数次“明明我本地是好的”……
真的,手动测试的苦,懂的都懂。😭
今天,给你安利一款装上就不想卸掉的 AI Skill —— webapp-testing。
它最让人上头的地方,不是“又造了一个新工具”,
而是把智能等待、稳定选择器这些先进的自动化测试理念,深度整合进 AI 工作流,
让 AI 真正成为你的专属 “自动化测试工程师”。
真有那么神奇?
本篇文章带你一探究竟,希望对你有帮助!
01
webapp-testing是一个基于 Playwright 的 Python 测试库, Anthropic 官方推出的 Web 应用测试 Skill,在官方 Skills 仓库里就能找到。(仓库地址:anthropics/skills/webapp-testing)。
传统的 Web 测试需要自己写 Playwright 或 Selenium 脚本,配置浏览器环境,处理各种异步等待问题。
有了这个 Skill,你只需要用自然语言说:"帮我测试登录功能",AI 就会自动编写测试脚本,模拟用户操作,并反馈页面状态是否符合预期。
更厉害的是,对于前后端分离的项目,它能自动启动所有依赖服务,在完整环境中执行测试。
02
其实是 Anthropic 把 Playwright 的最佳实践和常见测试场景都封装进了 Skill。它不是简单地执行命令,而是能理解测试意图,自动选择合适的选择器策略,处理动态加载的内容。
说白了,这个 Skill 把专业测试工程师的 UI 测试经验变成了 AI 可以理解和执行的知识。对于前端开发者来说,不用再花时间学习复杂的测试框架,就能快速验证功能是否正常。
03
方式一:通过Plugin Marketplace(推荐)
/plugin marketplace add anthropics/skills/plugin install example-skills@anthropic-agent-skills
方法二:手动克隆
git clone https://github.com/anthropics/skills#或者npx skills add https://github.com/anthropics/skills --skill webapp-testingcd skills#将技能复制到 claude全局技能文件夹中cp-r webapp-testing ~/.claude/skills/
方式三:find-skills 傻瓜式安装
如果装好了find-skills,那么通过claude code 傻瓜式安装。先找到,然后 让claude code帮我们装

装完验证一下:
ls ~/.claude/skills/webapp-testing# 应该看到 SKILL.md
如果使用claude code 安装 则直接看下面:

小白推荐使用 claude code模式安装。它会默认装在:
~/.agents/skills/webapp-testing 同时
~/.claude/skills/webapp-testing会超链接到:
~/.agents/skills/webapp-testing Windows上的位置:
C:\Users\xx\.claude\skills04
与 Selenium/Cypress/Playwright 等传统工具相比,它的最大不同在于交互方式和核心方法:

05
测试一个登录功能:
假设我们的被测网站有一个登录表单:用户名
user、密码 pass,点击登录后跳转到 /home。
这时,你不需要懂 Browser、fill、click 这些 API,你不需要手动处理等待、选择器、断言,你只需要对Claude说:
“帮我测一下登录,正确账号能进首页看到欢迎语,错误密码要报错。”
你完全不用写代码,但 AI 会在背后生成类似下面的脚本并自动执行:
from webapp_testing import Browserdef test_login_success():browser = Browser(headless=False)page = browser.new_page()page.goto("https://demo.example.com/login")page.fill("#username", "test_user")page.fill("#password", "correct_password")page.click("button[type='submit']")page.wait_for_url("**/home")assert page.contains_text("欢迎回来,test_user")browser.close()def test_login_fail():browser = Browser()page = browser.new_page()page.goto("https://demo.example.com/login")page.fill("#username", "test_user")page.fill("#password", "wrong")page.click("button[type='submit']")page.assert_text(".error", "用户名或密码错误")browser.close()
你看到的运行结果:
✅ 登录成功测试通过✅ 登录失败测试通过📸 失败截图已保存(如果有失败的话)
大家切记,在跟AI沟通时,虽然说要简洁,但是还是要说清楚你期望AI怎么操作,正常异常情况反馈什么等。这样AI才能更清楚知道你要做什么。
06
坑 ①: 元素没加载完就点击 ❌
# 不要这样写page.click("#dynamic-button") # 可能还没出现# 要这样写page.wait_for_selector("#dynamic-button")page.click("#dynamic-button")# 或者直接用内置自动等待(webapp-testing 大多数交互命令已内置等待)
坑 ② :选择器太脆弱
不要用 #app > div > div:nth-child(3) > button 这种 X 路径,页面一改就废。
✅ 推荐在开发时给测试专用属性:<button data-testid="submit">登录</button>然后用 page.click("[data-testid='submit']") —— 稳得一匹。
坑 ③ :重复登录浪费时间
每次测试都登录一次?太慢。
可以保存登录态:
# 第一次登录后保存 contextbrowser = Browser(storage_state="auth.json")
webapp-testing 不是一个花哨的框架,但它足够 简单、可靠。看完上述的分享,大家是不是迫不及待的想去尝试啦?但别急,参与下方话题讨论,领取《软件测试从业红宝书职场跃迁与AI之战》书籍1本再去哦~
讨论1:你在前端测试中遇到过最离谱的 bug 是什么?
讨论2:你希望 AI 帮你做哪些测试工作?
讨论3:如果让 AI 帮你测一个你最近在做的功能,你会怎么‘一句话吩咐’它?
以上话题,任选其一,欢迎评论区留言,小编会在下下周一(2026年5月25日)下午,选取1位“关注+点赞+留言”的幸运粉丝,送出《软件测试从业红宝书职场跃迁与AI之战》1本,快来评论区互动吧~




夜雨聆风