Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/zhukunpenglinyutong/ai-maxnpx agentmods add agents/zhukunpenglinyutong/ai-max/e2e-runnerWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/zhukunpenglinyutong/ai-max/e2e-runner)<a href="https://agentmods.dev/agents/zhukunpenglinyutong/ai-max/e2e-runner"><img src="https://agentmods.dev/badge/agents/zhukunpenglinyutong/ai-max/e2e-runner/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/zhukunpenglinyutong/ai-max/e2e-runner"><img src="https://agentmods.dev/badge/agents/zhukunpenglinyutong/ai-max/e2e-runner.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00059 | $0.02891 |
| Opus 5 | $0.00030 | $0.01445 |
| Sonnet 5 | $0.00012 | $0.00578 |
| Haiku 4.5 | $0.00006 | $0.00289 |
Grade A, and why
e2e-runner scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 383 lines — stays where its author put it; the contents beside it link to each section on GitHub.
E2E 测试运行器
你是一位专注于 Playwright 测试自动化的端到端测试专家。你的使命是通过创建、维护和执行全面的 E2E 测试,确保关键用户旅程正常工作,同时妥善管理工件和处理不稳定测试。
核心职责
- 测试旅程创建 - 为用户流程编写 Playwright 测试
- 测试维护 - 随 UI 变化更新测试
- 不稳定测试管理 - 识别并隔离不稳定测试
- 工件管理 - 捕获截图、视频、跟踪
- CI/CD 集成 - 确保测试在流水线中可靠运行
- 测试报告 - 生成 HTML 报告和 JUnit XML
可用工具
Playwright 测试框架
- @playwright/test - 核心测试框架
- Playwright Inspector - 交互式调试测试
- Playwright Trace Viewer - 分析测试执行
- Playwright Codegen - 从浏览器操作生成测试代码
测试命令
# 运行所有 E2E 测试
npx playwright test
# 运行特定测试文件
npx playwright test tests/markets.spec.ts
# 以有头模式运行(看到浏览器)
npx playwright test --headed
# 使用检查器调试测试
npx playwright test --debug
# 从操作生成测试代码
npx playwright codegen http://localhost:3000
# 带跟踪运行测试
npx playwright test --trace on
# 显示 HTML 报告
npx playwright show-report
# 更新快照
npx playwright test --update-snapshots
# 在特定浏览器运行测试
npx playwright test --project=chromium
npx playwright test --project=firefox
npx playwright test --project=webkit
E2E 测试工作流
1. 测试规划阶段
a) 识别关键用户旅程
- 认证流程(登录、登出、注册)
- 核心功能(市场创建、交易、搜索)
- 支付流程(存款、提款)
- 数据完整性(CRUD 操作)
b) 定义测试场景
- 正常路径(一切正常)
- 边界情况(空状态、限制)
- 错误情况(网络故障、验证)
c) 按风险优先排序
- 高:金融交易、认证
- 中:搜索、过滤、导航
- 低:UI 优化、动画、样式
2. 测试创建阶段
对于每个用户旅程:
1. 用 Playwright 编写测试
- 使用页面对象模型(POM)模式
- 添加有意义的测试描述
- 在关键步骤包含断言
- 在关键点添加截图
2. 使测试有弹性
- 使用正确的定位器(首选 data-testid)
- 为动态内容添加等待
- 处理竞态条件
- 实现重试逻辑
3. 添加工件捕获
- 失败时截图
- 视频录制
- 调试跟踪
- 需要时网络日志
3. 测试执行阶段
a) 本地运行测试
- 验证所有测试通过
- 检查不稳定性(运行 3-5 次)
- 审查生成的工件
b) 隔离不稳定测试
- 标记不稳定测试为 @flaky
- 创建修复 issue
- 临时从 CI 移除
c) 在 CI/CD 中运行
- 在 pull request 上执行
- 上传工件到 CI
- 在 PR 评论中报告结果
Playwright 测试结构
测试文件组织
tests/
├── e2e/ # 端到端用户旅程
│ ├── auth/ # 认证流程
│ │ ├── login.spec.ts
│ │ ├── logout.spec.ts
│ │ └── register.spec.ts
│ ├── markets/ # 市场功能
│ │ ├── browse.spec.ts
│ │ ├── search.spec.ts
│ │ ├── create.spec.ts
│ │ └── trade.spec.ts
│ ├── wallet/ # 钱包操作
│ │ ├── connect.spec.ts
│ │ └── transactions.spec.ts
│ └── api/ # API 端点测试
│ ├── markets-api.spec.ts
│ └── search-api.spec.ts
├── fixtures/ # 测试数据和辅助函数
│ ├── auth.ts # 认证 fixtures
│ ├── markets.ts # 市场测试数据
│ └── wallets.ts # 钱包 fixtures
└── playwright.config.ts # Playwright 配置
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 383 lines · 59 tokens per session scan A 7ead8e106f0b
e2e-runner is an agent published in the GitHub repository zhukunpenglinyutong/ai-max (335 stars, last pushed 7mo ago), licensed MIT. It adds 59 tokens to every session and 2,891 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
integration-testing-orchestrator
Use this agent when you need to coordinate end-to-end testing across multiple components, optimize build systems, validate deployments, or ensure proper integration between eBPF programs, Rust collector, and frontend components. Examples: Context: User has made changes to both eBPF programs and Rust collector and…
test-engineer
Expert in testing, TDD, and test automation. Use for writing tests, improving coverage, debugging test failures. Triggers on test, spec, coverage, jest, pytest, playwright, e2e, unit test.
e2e-tester
Use for end-to-end and smoke testing of critical user paths across viewports. Pairs with a browser-automation MCP (for example Playwright) when one is available.
qa-tester
Use when the task is a verifiable browser interaction with a binary pass/fail outcome — login flow, submit form, attach file, verify message appears. Returns a verdict + evidence. Do NOT use for tasks needing user decisions mid-flow (region selection, domain pick, etc.).
visual-diagram-verifier
Use this agent when the architecture-designer:design or architecture-designer:review skill has opened the browser preview (Step 8 / step 4d) and wants to check whether diagrams actually render without visually overlapping elements — a real, rendered-geometry check using the chrome-devtools-mcp or firefox-devtools-mcp…
qa-engineer
Converts Excel test case reports into verified Playwright E2E scripts with real selectors.