用途
Security Visual Testing 是一个以安全为核心的视觉测试技能,用于在 Web 应用测试中同时完成 URL 安全校验、PII(个人身份信息)检测与遮蔽、多视口视觉回归比对以及无障碍审计。它适合测试登录页、支付表单、视觉回归套件等可能包含敏感数据的页面。
主要能力
- URL 校验:在导航前拦截恶意 URL(如 javascript:、data:、file: 等协议),目标耗时 <5ms。
- PII 检测:识别 6 种以上敏感数据,包括邮箱、电话、信用卡、SSN、API 密钥、密码字段,目标耗时 <100ms。
- 并行视口:同时测试 4 个视口(mobile 320px、tablet 768px、desktop 1440px、wide 1920px),速度提升约 4 倍。
- 视觉回归:基于像素差异比对,阈值可配置(默认 <0.1%),目标耗时 <500ms。
- 无障碍审计:基于 axe-core 检查 WCAG 2.1 A/AA/AAA 合规,目标耗时 <2s。
使用方式
该技能依赖 qe-browser 浏览器自动化技能(.claude/skills/qe-browser/),使用 Vibium 引擎(10MB Go 二进制,WebDriver BiDi),由 aqe init 自动安装。在安全视觉工作流中,qe-browser 额外提供 check-injection.js(在存储截图前扫描页面内容中的提示注入模式)和 assert.js(16 项类型化检查,含 no_failed_requests 用于检测数据泄露请求)。
存储截图前扫描页面的示例:
vibium go "$TARGET_URL"
vibium wait load
node .claude/skills/qe-browser/scripts/check-injection.js --include-hidden
INJ=$?
if [ $INJ -ne 0 ]; then
echo "Prompt-injection findings — do NOT store screenshot"
exit $INJ
fi
node .claude/skills/qe-browser/scripts/visual-diff.js --name "${PAGE_NAME}"
完整安全视觉审计:
aqe test visual-audit --url https://example.com --security --accessibility
PII 安全截图:
aqe screenshot --url https://example.com/profile --pii-safe
响应式视觉审计:
aqe test responsive --url https://example.com --viewports mobile,tablet,desktop
适用场景
- 登录页测试:包含密码、邮箱等 PII。
- 视觉回归套件:并行视口加基线比对。
- 支付表单:信用卡数据需要遮蔽。
- 公开营销页:仅在可能存在敏感数据时使用。
- 纯 API 测试:不适用,应改用 security-testing 技能。
限制与注意事项
- 存储截图前必须遮蔽 PII。
- 需在所有目标视口并行测试。
- 基线应存入版本控制。
- 每次视觉变更都应运行无障碍审计。
- 常见错误包括 URL_BLOCKED(检测到恶意 URL 模式)、PII_DETECTED(截图中发现敏感数据)、BASELINE_MISSING(缺少比对基线,需先用 --update-baseline)、VIEWPORT_TIMEOUT(浏览器无响应,需增加超时或减少并行)、ACCESSIBILITY_FAILED(发现 WCAG 违规)。
集成
可与 AQE v3 的 BrowserSecurityScanner 和 TrajectoryAdapter 配合使用,支持记忆命名空间 aqe/security-visual/(含 baselines、screenshots、reports、trajectories),并可通过 FleetManager 协调 qe-visual-tester、qe-security-scanner、qe-accessibility-auditor 等代理并行执行。
相关技能
visual-testing-advanced(纯视觉测试)、security-testing(纯安全测试)、accessibility-testing(纯无障碍测试)、qe-visual-accessibility(AQE v3 视觉领域技能)。