mcpField
S
synthetic-monitoring

synthetic-monitoring

github.com/aj-geddes测试与质量374424 次安装34 周前更新
代码仓库

关于 synthetic-monitoring

用于设计合成监控的技能,通过模拟用户旅程、API 流程和业务交易来检查行为与性能,并提供 Playwright 示例及 API 测试和定时监控指南。

主要功能

  1. 01模拟浏览器用户旅程
  2. 02测试 API 工作流
  3. 03监控业务交易
  4. 04安排定时合成检查
  5. 05跟踪响应时间与失败

适用场景

  1. 01验证端到端用户流程
  2. 02发布前检查 API 路径
  3. 03监控关键业务交易
  4. 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.md
scheduled-synthetic-monitoring.md
synthetic-tests-with-playwright.md
scripts/
scaffold-tests.sh
templates/
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