不会写代码也能做自动化测试?Skill + AI 帮你搞定重复性工作
去年我被借调到一个数据中台项目救火旁边工位坐了个测试妹子每天从早到晚就是对着浏览器重复点同一套流程——登录、建单、审批、查报表一天跑三轮回归下班手都是抖的。有一天她实在绷不住了问我“你们天天说自动化自动化我连 Python 都装不上能不能搞”我当时愣了一下。说实话过去我骨子里也觉得自动化测试是开发的事至少你得会写脚本。但那次我决定试试给她建了个文件夹里面放了一个 Markdown 文件和几份接口文档让她用 AI 加载。十分钟后她拿到了人生第一套完全可运行的自动化测试脚本纯 Python她一行没写。那个文件夹现在在我所有项目里都有一个备份名字叫auto-test-skill。今天我就把这个东西完整拆给你看。不管你是手工测试、产品经理还是运营只要你稍微会用浏览器这事儿就能办。一、别把自动化测试想成非得写代码先破个心魔。自动化测试的本质不是写代码而是把重复的验证动作交给机器。过去没得选必须写脚本现在有了 AI Skill你只需要做你最擅长的事——告诉它你要测什么、怎么判断对错。你手头一定有这些东西接口地址和请求参数从浏览器 F12 就能扒某个功能的操作步骤你每天点的那些菜单判断结果对不对的标准返回码 200、页面出现“成功”、数据库某个字段更新这些就够了。剩下的活让 AI 替你干。二、搭骨架你的测试助理入职文件夹跟前面几篇讲的一样Skill 就是一个文件夹里面放SKILL.md。这次我们专为自动化测试定制。在你电脑上建个文件夹叫auto-test-assistant里面新建SKILL.md抄下面这个模板直接粘贴--- name: auto-test-assistant description: 为不懂代码的测试人员生成可执行的自动化测试脚本基于提供的接口文档和场景描述 --- # 角色 你是一名资深测试开发工程师精通 Python pytest requests 接口自动化测试。 你的服务对象是不懂编程的手工测试人员你需要根据他们提供的接口文档或操作描述生成可直接运行的自动化测试脚本。 # 工作守则 1. 所有生成的脚本必须完整可运行包含必要的 import 和 if __name__ __main__ 入口。 2. 每个测试用例必须包含清晰的断言断言条件由用户指定或从预期结果推导。 3. 脚本中必须包含详细的注释解释每一步在做什么让不懂代码的人也能大概看懂。 4. 如果涉及接口依赖如先登录获取 token必须自动处理该依赖并处理 token 过期等异常情况。 5. 输出格式一个完整的 .py 文件代码块 运行说明安装依赖、执行命令。 6. 严禁使用未在项目中明确声明的第三方库默认仅使用 requests 和 pytest。保存。现在你的“自动化测试助理”已经入职了虽然还只是个空架子。三、喂资料你给他什么他就测成什么样这个助理现在还瞎着你得给他对接项目。在auto-test-assistant文件夹里建个子目录叫references把你能收集到的任何资料扔进去接口文档有 Swagger JSON 最好没有就把你平时用到的接口一个个从浏览器 Network 里复制请求 URL、方法、参数示例整理成 Markdown 表格。哪怕手写几行都行比没有强一万倍。数据库表结构如果验证要查库导出一份表字段说明。测试数据比如测试账号、密码、常用参数值注意脱敏。你的测试步骤脑图哪怕就是“1.登录 2.创建订单 3.查询订单 4.取消”这种流水账也扔进去。测试妹子当年给我的就三样一张写了四个接口地址和参数的纸、一个测试账号、一句“登录后返回的 token 要放到后面接口的 Header 里”。就这些没了。我把它们扫成三个 Markdown 文件扔进references/然后修改SKILL.md在最下面加了一段# 项目背景 请务必先阅读 references/ 目录下的所有文件这是当前被测系统的全部资料。 所有测试脚本必须基于这些真实接口和数据生成严禁编造接口路径或参数。加这一句的目的是锁死边界。不然 AI 会自己脑补接口你拿到的脚本跑不起来。四、开干一句话生成你的第一套自动化脚本把整个文件夹拖进 Claude或者你的 AI 工具的 Skill 加载入口加载成功后在对话框里输入根据 references 里的接口文档帮我生成一套完整的回归测试脚本覆盖这四个接口的正常场景和常见异常场景参数缺失、token 过期。测试步骤是先调用登录接口获取 token然后依次测试创建、查询、取消订单接口。生成的脚本我能在本地用 python 直接跑。30 秒后它吐出一个.py文件里面大概长这样import requests import pytest BASE_URL http://xxx.com/api TEST_USER {username: test1, password: 123456} def get_token(): 登录获取 token resp requests.post(f{BASE_URL}/login, jsonTEST_USER) assert resp.status_code 200 return resp.json()[data][token] def test_create_order(): 正向创建订单 token get_token() headers {Authorization: fBearer {token}} payload {productId: 1001, quantity: 1} resp requests.post(f{BASE_URL}/orders, jsonpayload, headersheaders) assert resp.status_code 200 assert resp.json()[code] 0 def test_create_order_missing_param(): 缺少必填参数 token get_token() headers {Authorization: fBearer {token}} payload {} # 空参数 resp requests.post(f{BASE_URL}/orders, jsonpayload, headersheaders) assert resp.status_code 400 assert参数错误in resp.json()[msg]旁边还贴心地附上了运行命令pip install requests pytest pytest test_api.py -v。测试妹子把文件存成test.py装上 Python我帮她装好的在命令行里敲下那行命令屏幕上绿油油的一片 pass她差点在工位上蹦起来。你一句代码没写。你只是把你脑子里知道的测试场景用人话告诉了它。五、不想装 Python 环境连这步都可以省后来我觉得让她装环境还是麻烦就改了 Skill 的输出规则让它直接生成可导入的 Postman Collection JSON 文件。在SKILL.md里增加一条输出规则- 如果用户要求生成 Postman 格式输出完整的 collection v2.1 JSON 代码用户可直接导入 Postman 运行。然后提问把刚才那套测试用例输出成 Postman Collection要求包含环境变量 BASE_URL 和 token 自动提取脚本。AI 立刻甩出一个 JSON她复制粘贴到 Postman 里点一下 Run连命令行都省了。那会儿我才彻底意识到工具链从来不是障碍障碍是你觉得非得懂工具链才能做自动化。六、这玩意儿到底能替代多少工作量数据中台项目结束后我复盘过一次我们那套“登录-建单-审批-推送”回归用例总共 42 个场景。她手工跑一轮要 2.5 小时每天至少一轮。用 AI 生成的脚本跑完48 秒。她后来把节省出来的时间拿去做了探索性测试在报表导出功能里挖出三个隐藏很深的边界 Bug搁以前根本没人有空去点那些犄角旮旯的按钮。所以别听信什么“无代码自动化是伪命题”这种话。对大部分业务系统来说你缺的不是会写 Selenium 的人缺的是一个能把你测试经验转化成可执行脚本的翻译官。现在这个翻译官就是 AI Skill而且翻译得还越来越靠谱。七、让你助理聪明起来的三个调教心法当然这助理不是一开始就听话。我们磨合期踩过的坑值得你现在就避开① 输入必须带预期结果否则断言全瞎。很多人就扔一句“帮我测创建订单接口”AI 就会只校验状态码 200其他啥也不管。你必须把判断条件说清楚“创建成功后返回的 code 字段为 0data 里必须包含 orderId 且不为空同时数据库 order 表对应记录状态为 NEW。” 提示词越细脚本的断言越狠。② 把环境信息写死进 references别让 AI 猜。域名、账号、token 获取方式、超时时间、重试次数这些环境级的信息一律写在一个env.md里在 SKILL.md 中强制引用。否则生成的脚本里基础 URL 是 localhost你又要改半天。③ 第一版脚本跑不通是正常的把报错扔回去。脚本生成后第一次运行大概率会碰到一两个小问题比如字段名大小写不对、返回结构跟文档不一致。别怕把控制台的报错信息直接复制粘贴给 AI加一句“根据这个错误修改脚本”。它自己会定位修复。那个测试妹子后来学会这招来来回回改了三轮脚本就稳定了。她甚至总结了一句“AI 写的代码我改不了但我能让 AI 自己改。”写在最后那个数据中台项目交付后测试妹子请我喝了杯奶茶说了一句特别扎心的话“原来你们开发每天在玩的那些东西也没那么神嘛。”我说对其实技术这行大部分壁垒不是知识是包装。今天我把这层包装拆了告诉你怎么用。你不需要学写代码你只需要学会把你的测试脑子装进一个文件夹里。现在就动手。打开你的电脑新建文件夹把这篇教程里的模板贴进去然后找一张你最近跑回归时用的接口列表扔进references/。加载 Skill对你最讨厌的那个重复性测试用例说一句人话。让你助理跑断腿你把时间留给自己。