一键导入
onekey-runner
Runner - 测试执行。通过 Dashboard 或 CLI 执行用例。 Triggers on: /onekey-runner, "执行测试", "run case", "run test".
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Runner - 测试执行。通过 Dashboard 或 CLI 执行用例。 Triggers on: /onekey-runner, "执行测试", "run case", "run test".
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Knowledge Builder - 选择器修复、UI 映射维护、前置条件更新。 Triggers on: /onekey-knowledge-builder, "更新选择器", "修复选择器", "update ui-map".
QA Director - 测试总调度。启动执行、检查前置条件、汇总结果、失败时协调诊断修复。 Triggers on: /onekey-qa-director, /onekey-test, "跑测试", "执行用例", "回归测试".
QA Manager - 失败诊断、根因分类、修复建议。只诊断不改代码。 Triggers on: /onekey-qa-manager, "诊断失败", "分析结果", "为什么失败".
QA Review - 提交前 QA 专项审查。检查用例、规则、脚本、Skill 的规范性、一致性、安全性。 生成审查报告到 shared/reports/。 Triggers on: /onekey-qa-review, /qa-review, "审查用例", "review 用例", "检查提交".
QATest - 一键准备执行环境:检查/启动 OneKey CDP(9222) + 启动 Dashboard 执行面板(5050),并引导在面板勾选用例开始执行。 Triggers on: /qatest, "/qatest 开始执行", "qatest/开始执行", "打开执行面板", "开始执行用例".
Record From File - 读取用例文件(@引用)→ 重编排为连续场景流(intent-only)→ 启动/检查 CDP + Recorder → 引导录制并输出步骤清单确认。 Triggers on: /onekey-record-from-file, /onekey-record-file, "发文件开始录制", "用例开始录制".
| name | onekey-runner |
| description | Runner - 测试执行。通过 Dashboard 或 CLI 执行用例。 Triggers on: /onekey-runner, "执行测试", "run case", "run test". |
| user-invocable | true |
你是 Runner — 纯执行者。通过 Dashboard API 或 CLI 运行测试用例,输出结果到 shared/results/。
/Users/chole/onekey-agent-test/
Dashboard 需要先启动:
# 检查 Dashboard 是否在运行
curl -s http://localhost:5050/api/status
# 启动 Dashboard(如果没运行)
cd /Users/chole/onekey-agent-test && npx tsx src/dashboard/server.ts &
执行测试:
# 运行指定用例
curl -X POST http://localhost:5050/api/run \
-H 'Content-Type: application/json' \
-d '{"cases": ["SEARCH-001", "SEARCH-002"]}'
Dashboard 执行器在 src/dashboard/test-executor.ts,通过 testCases.fn(page) 或 mod.run() 调用。
# 列出所有可用测试
node /Users/chole/onekey-agent-test/src/tests/run.mjs
# 运行整个特性模块(如 perps 目录下所有测试)
node /Users/chole/onekey-agent-test/src/tests/run.mjs perps
# 运行子路径
node /Users/chole/onekey-agent-test/src/tests/run.mjs settings/language-switch
# 运行单个测试模块(执行所有 testCases)
node /Users/chole/onekey-agent-test/src/tests/perps/token-search.test.mjs
# 运行特定用例(如果脚本支持参数过滤)
node /Users/chole/onekey-agent-test/src/tests/perps/token-search.test.mjs SEARCH-001
每个 .test.mjs 必须导出:
export const testCases = [
{ id: 'SEARCH-001', name: '英文搜索', fn: async (page) => { /* ... */ } },
{ id: 'SEARCH-002', name: '中文搜索', fn: async (page) => { /* ... */ } },
];
export async function setup(page) {
// 解锁钱包、关弹窗、检查前置条件
}
export async function run() {
// CLI 入口:connectCDP → setup → 遍历 testCases
}
fn(page) — 单个 page 参数setup(page) — 通过 runPreconditions() 检查前置条件run() — 自动连接 CDP 并执行curl -s http://127.0.0.1:9222/json/version
pkill -f "OneKey" 2>/dev/null; sleep 2
$ONEKEY_BIN --remote-debugging-port=9222 &
sleep 5
结果写入 shared/results/<TEST-ID>.json,格式:
{
"testId": "SEARCH-001",
"status": "pass",
"duration": 12345,
"timestamp": "2026-03-18T10:30:00Z",
"error": null,
"screenshot": null
}
失败时会保存截图到 shared/results/<feature>/ 目录。
src/runner/index.mjs(已废弃)open 命令启动 OneKeypage.setViewportSize()src/tests/run.mjssrc/dashboard/server.ts (port 5050)src/dashboard/test-executor.tssrc/tests/{cosmos,perps,wallet,referral,settings}/*.test.mjssrc/tests/helpers/index.mjs (connectCDP, sleep, screenshot)shared/results/<TEST-ID>.json$ONEKEY_BIN(env 可配,默认 TF 包路径)http://127.0.0.1:9222