当前位置: 首页 > news >正文

频模式从底层上的了解,这一篇主要记录一下带通采样定理的知识,下一篇会涉及到三种混频模式的配置不同 在这里采样和频谱混叠等本科基础知识 ...

囱融抗斗最近在折腾“验收自动化”时一个反复踩的坑:

UI 改一点点,locator 就碎,维护成本越来越高

用例脚本对 PM/QA 不友好,最后还是开发在写

失败排查要截图/trace/log 到处拼,效率很低

所以做了个小工具:AutoQA-Agent(开源 CLI)。核心思路是 Docs-as-Tests(文档即测试):

用 Markdown 写用例(Preconditions + Steps)

用 Claude Agent SDK 做“观察 → 思考 → 行动”的执行闭环

底层用 Playwright 真实驱动浏览器

失败不直接崩:把错误/上下文回流给 agent,按护栏重试(自愈)

spec 跑通后:会把动作沉淀成 IR,并可 自动导出 @playwright/test 用例(可接 CI)

TL;DR

写:specs/*.md

跑:autoqa run --url

看产物:.autoqa/runs//(log/screenshot/snapshot/trace)

跑通可导出:tests/autoqa/*.spec.ts

快速上手

git clone https://github.com/terryso/AutoQA-Agent.git

cd AutoQA-Agent

npm install

npm run build

npm link # 可选,全局使用 autoqa

autoqa init

# 跑一个示例(仓库里有 SauceDemo 用例)

autoqa run specs/saucedemo-01-login.md --url https://www.saucedemo.com/

# 本地观察执行过程

autoqa run specs/saucedemo-01-login.md --url https://www.saucedemo.com/ --debug

Markdown 用例长啥样(示例)

# Login

## Preconditions

- Test account exists

## Steps

1. Navigate to /login

2. Verify the login form is visible

3. Fill the username field with standard_user

4. Fill the password field with secret_sauce

5. Click the "Login" button

6. Verify the user is redirected to dashboard

说明:

Base URL 目前由 --url 提供(Preconditions 里的 Base URL 只做可读性)

以 Verify/Assert(也支持“验证/断言”)开头的步骤会识别为断言

稳定性思路(简单说)

每次交互前先拿 accessibility snapshot(里面会有更稳定的 ref)

ref-first 优先点/填,失败再回退到语义描述

工具/断言失败不 throw:返回结构化错误,让 agent 下一轮调整策略

有护栏限制(避免无限重试/成本失控)

失败排查/产物(我自己最想要的部分)

每次运行会落盘:

.autoqa/runs//

├── run.log.jsonl

├── ir.jsonl

├── screenshots/

├── snapshots/

└── traces/

目前状态

Epic 1-4 核心能力已实现:init/run、断言+自愈护栏、IR 记录、导出 Playwright Test

Epic 5(环境/变量/敏感数据注入)也已落地(.env + 模板变量思路)

想听听大家的反馈(求喷/求建议)

我比较关心的问题:

你们更想要哪种导出风格?(更“人写”的 Playwright 代码 / 更原子化的 steps)

断言映射要做到什么程度才“够用”?

对 CI 产物你们更偏好 JUnit/JSON 还是保留 trace + log 就够了?

http://www.jsqmd.com/news/468685/

相关文章:

  • (持续更新 2026) 一文看懂各 AI 模型能力, 理清模型、应用与公司之间关系, 选择最适合业务的模型? #002
  • 文档也很齐全。但是在统信系统中部署和打包 Avalonia 程序为安装包,我是从来都没有这样做过的。其实,在 Windows 平台下 ...
  • 【wail框架】web+go的混合架构简要指南
  • 服务器监控集中式部署方案 V5.0(全量详细版)
  • 【Linux系统安装、配置mysql数据库详细过程,亲自部署成功后分享mysql安装过程,ARM架构安装、配置 mysql,包细节,各种系统架构和版本都适用!】
  • 计算机系统基础知识(补充):硬件篇之指令系统详解
  • 导师又让重写?千笔AI,一键生成论文神器
  • OpenClaw踩坑记录
  • C++起始之路——list
  • 小迪安全|sql盲注一些知识点
  • MadLongTom
  • ✅ AI「记忆稳定层」Memory Stabilization Layer(MSL)这一层解决的是很多人遇到却解释不了的问题:❗为什么有的网站 曾经被 AI 推荐,但过一段时间又消失?
  • 进制转化类问题
  • 建筑幕墙玻璃加工案例:新启航激光打孔替代水刀,单项目降本超 50 万元
  • Windows下WSL(Ubuntu24.04)安装Nodejs
  • AI提供商配置里面,提供商类型 OpenAI 和 OpenAI-Response 有什么区别?
  • 老板问我OpenClaw、Agent、Coze、MCP、Skill有啥区别:一文看懂这些技术的差异化
  • 基于STM32的罐装水泥成分实时检测系统设计与实现(含有matlab仿真)
  • HTML5+CSS3从0到1学前端 第一节 HTML 标签语法
  • 俞敏洪入局、央企下场!双巨头押注银发康养旅游,市场按下加速键
  • Java全栈开发工程师的实战面试经历
  • 天梯赛练习(3月11日)
  • 二级圆锥圆柱齿轮减速器三维图纸及运动仿真(Proe三维+通用格式stp+仿真录像)
  • 智能风暴:2026年网络安全进入“AI对攻”时代
  • 许多水务管理者或许曾面临这样的困境:进水水质突发异常,经验丰富的老师傅凭借直觉迅速化解危机,但当老师傅退休后,这份“手感”还能留下几分?海量的实时数据涌入中控室,却难以转化为及时的调控指令——是数据不
  • 考虑综合负荷的主动配电网最优潮流计算:MATLAB实现与探索
  • 2025.03 GESP 7级 题解
  • NanoBanana2 接口接入实战:从 0 到 1 跑通调用,附完整代码示例
  • GC如何排查
  • ESP32-C6(支持 Wi-Fi 6)或 ESP32-H2 这两款和ESP32-S3的主要区别