Files
Neo-ZQYY/scripts/ops/test_automator_launch2.js

41 lines
1.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 测试 miniprogram-automator launch带超时和详细日志
*/
const path = require('path');
const fs = require('fs');
const npxCacheBase = path.join(process.env.LOCALAPPDATA, 'npm-cache', '_npx');
let automatorPath = null;
for (const dir of fs.readdirSync(npxCacheBase)) {
const candidate = path.join(npxCacheBase, dir, 'node_modules', 'miniprogram-automator');
if (fs.existsSync(candidate)) { automatorPath = candidate; break; }
}
if (!automatorPath) { console.error('未找到 automator'); process.exit(1); }
console.log(`automator: ${automatorPath}`);
const automator = require(automatorPath);
const PROJECT_PATH = 'C:\\NeoZQYY\\apps\\miniprogram';
// 30 秒超时
const timer = setTimeout(() => {
console.error('❌ 30 秒超时launch 未完成');
process.exit(1);
}, 30000);
async function main() {
try {
console.log(`[${new Date().toISOString()}] 开始 launch...`);
const mp = await automator.launch({ projectPath: PROJECT_PATH });
clearTimeout(timer);
console.log(`[${new Date().toISOString()}] ✅ 连接成功!`);
const page = await mp.currentPage();
console.log('当前页面:', page ? page.path : '无');
await mp.close();
} catch (err) {
clearTimeout(timer);
console.error(`[${new Date().toISOString()}] ❌ 失败: ${err.message}`);
if (err.stack) console.error(err.stack.split('\n').slice(0, 5).join('\n'));
}
}
main();