可以做,而且在你的要求下(Python + 需要登录态 + 含验证码/短信 + 自动断言 + 报告/截图/日志),我建议按“可控、可落地”的路线选型与实现,而不是找某个“全能黑盒智能体”。
下面给你一套最常见、成功率最高的组合与实现要点。
推荐技术栈(Python)
1)浏览器驱动
-
Playwright(强烈推荐)
- 自动等待更稳、对截图/轨迹支持好、CV/定位也更容易接入
- Selenium 也行,但在验证码/复杂交互时经常更吃力
2)执行与断言
- pytest 做测试组织
- 断言使用:
- Playwright 自带的
expect(...)(等待 + 断言很方便) - 或 pytest 的断言(
assert)
- Playwright 自带的
3)测试报告
-
pytest + Allure(最适合做“自动化报告 + 附件截图/日志/视频/trace”)
- 截图:失败时自动抓
- 日志:把请求/步骤/报错写进 allure attachment
- 轨迹/回放:用 Playwright trace(非常有用)
4)日志与可追溯
- Python
logging+ 每一步“action-观察-决策”记录 - Playwright
tracing+ 截图 + DOM 快照(失败时保存)
你要的“自然语言操作网页”的智能体怎么落地
你可以把它做成一个循环系统(伪代码逻辑):
- 接收自然语言测试目标(例如:登录后进入后台并校验某页面元素)
- LLM 输出“下一步动作”(点击/输入/等待/滚动/选项)
- Playwright 执行动作
- 获取页面状态(URL、关键元素文本/截图/可见性/HTTP 状态)
- LLM 基于“状态”决定下一步
- 直到满足断言条件或超时失败
- 失败时生成:截图 + trace + 日志 + allure 报告
关键点:验证码/短信这类环节,LLM 单靠“点点点”通常无法完成,需要你提供可用的输入通道(见下一节)。
登录态场景(账号/验证码/短信)怎么处理
你有三类难点:账号密码、图片验证码、短信验证码。
A)账号密码(最简单)
- 直接在环境变量/密钥库里读取
- 页面元素定位后输入即可
B)验证码(图片验证码/滑块)
常见可行方案(按合规与可控程度排序):
-
Mock / 测试环境绕过验证码
- 最推荐:为测试环境提供“验证码白名单/跳过开关/后端固定验证码”
-
人工接管(Human-in-the-loop)
- 失败时把验证码截图发给你/测试同事,提供“你输入验证码,智能体继续”
-
OCR/图像识别
- 适用于验证码相对简单,但稳定性不如人工或后端绕过
-
第三方验证码服务(需要合规评估)
- 适合规模化,但要看你们是否允许、成本如何
如果你希望“完全自动化”,最关键的前提是:你能在测试环境中让验证码可被自动获取/绕过,否则就通常只能做到半自动接管。
C)短信验证码
可行做法:
- 短信平台提供回调/API 拉取验证码(推荐)
- 你把短信验证码粘贴给智能体继续执行(半自动)
- 从测试短信收件邮箱/设备抓取(看你系统怎么发)
我建议你先定义的“断言与测试报告模板”
例如每条用例至少包含:
- 登录成功断言:例如头像/退出按钮/用户昵称出现
- 业务页面断言:关键文本存在、接口返回状态码为 200(可通过拦截网络请求)
- 失败工件:
- 截图(Playwright)
- trace(Playwright trace)
- 页面 HTML/关键元素截图
- 执行步骤日志(LLM 推理步骤也可脱敏后记录)
- 报告聚合:Allure 用例级别
你可以直接选择的“现成方案形态”(三选一)
由于你要“AI 自然语言操作网页”,通常有三种实现路线:
-
自己搭一个“LLM+Playwright执行器”框架
- 灵活、最贴合你们登录/断言/报告要求
-
用现成开源/商用 Agent 框架 + 你们的浏览器适配层
- 快,但要看能不能很好处理验证码/短信/断言与附件
-
先完全用 Playwright 写自动化,再让 LLM 做“用例生成/定位/修复”
- 迭代快、稳定性高;但不是真正“自然语言直接操作”的程度
在你这种“必须断言 + 必须报告/截图/日志 + 登录态复杂”的要求下,方案 1(自建执行器)最稳。
我需要你补充 5 个信息,才能给你一套更精确的方案/目录结构/示例代码
- 你说的“验证码”是哪种?图片验证码还是滑块/点选?
- 短信验证码你们有没有短信平台的查询/回调 API,还是只能人工查看?
- 测试环境是否有“跳过验证码/使用测试账号”的能力?
- 页面是否是单页应用(SPA)?是否有固定的登录成功后 URL?
- 你希望“自然语言”输入的粒度:
- a. 一句话完成整条用例(登录+校验)
- b. 分步骤逐条执行
你把这 5 点回答一下,我就可以给你:
- 推荐的项目结构(pytest + allure + playwright + agent编排)
- 登录流程的自动化策略(含验证码/短信的接管点)
- “自然语言 → 可执行动作 → 断言 → 报告”的具体实现思路(以及伪代码/关键接口)。