关于 synthetic-monitoring
用于设计合成监控的技能,通过模拟用户旅程、API 流程和业务交易来检查行为与性能,并提供 Playwright 示例及 API 测试和定时监控指南。
主要功能
- 01模拟浏览器用户旅程
- 02测试 API 工作流
- 03监控业务交易
- 04安排定时合成检查
- 05跟踪响应时间与失败
适用场景
- 01验证端到端用户流程
- 02发布前检查 API 路径
- 03监控关键业务交易
- 04通过定时检查发现故障
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill synthetic-monitoring安装后在 Claude Code 中输入/synthetic-monitoring确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/api-synthetic-tests.mdscheduled-synthetic-monitoring.mdsynthetic-tests-with-playwright.mdscripts/scaffold-tests.shtemplates/test-template.js详细介绍
合成监控
目录
概述
设置合成监控,自动模拟真实用户旅程、API 工作流和关键业务事务,以检测问题并验证性能。
适用场景
- 端到端工作流验证
- API 流程测试
- 用户旅程模拟
- 事务监控
- 关键路径验证
快速入门
最简可运行示例:
// synthetic-tests.js
const { chromium } = require("playwright");
class SyntheticMonitor {
constructor(config = {}) {
this.baseUrl = config.baseUrl || "https://app.example.com";
this.timeout = config.timeout || 30000;
}
async testUserFlow() {
const browser = await chromium.launch();
const page = await browser.newPage();
const metrics = { steps: {} };
const startTime = Date.now();
try {
// Step 1: Navigate to login
let stepStart = Date.now();
await page.goto(`${this.baseUrl}/login`, { waitUntil: "networkidle" });
metrics.steps.navigation = Date.now() - stepStart;
// Step 2: Perform login
stepStart = Date.now();
await page.fill('input[name="email"]', "[email protected]");
await page.fill('input[name="password"]', "password123");
// ... (see reference guides for full implementation)
参考指南
references/ 目录中的详细实现:
| 指南 | 内容 |
|---|---|
| 使用 Playwright 进行合成测试 | 使用 Playwright 进行合成测试 |
| API 合成测试 | API 合成测试 |
| 定时合成监控 | 定时合成监控 |
最佳实践
✅ 应该做
- 测试关键用户旅程
- 模拟真实浏览器条件
- 从多个位置进行监控
- 跟踪响应时间
- 在测试失败时发出告警
- 轮换测试数据
- 测试移动端和桌面端
- 纳入错误场景
❌ 不应该做
- 使用生产数据进行测试
- 重复使用测试账户
- 跳过超时配置
- 忽视测试维护
- 测试过于频繁
- 硬编码凭据
- 忽视地域差异
- 只测试正常路径
评论
支持 Markdown