d3ro-voice/scripts/e2e-desktop-full-journey.js
2026-08-29 18:33:45 +09:00

74 lines
No EOL
2.9 KiB
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const { _electron: electron } = require('playwright');
const path = require('path');
const fs = require('fs');
async function runFullJourney() {
const outDir = 'C:/Users/encep/.gemini/antigravity-cli/brain/3ab7ae82-5634-41d5-93a7-3c12c22503e2/screenshots/live_production_verified';
if (!fs.existsSync(outDir)) fs.mkdirSync(outDir, { recursive: true });
const app = await electron.launch({
executablePath: require('electron'),
args: ['.'],
cwd: path.resolve('apps/desktop'),
env: Object.assign({}, process.env, { NODE_ENV: 'production' })
});
console.log('Electron Launched, PID:', app.process().pid);
const window = await app.firstWindow({timeout: 30000});
await window.waitForLoadState('domcontentloaded');
await window.waitForTimeout(2000);
// 1. Dashboard Screenshot
await window.screenshot({ path: path.join(outDir, '08_electron_dashboard.png') });
console.log('1. Saved Dashboard');
// 2. Click History
const hightoryEl = await window.$('div >> text="his"i, div >> text="히스토리"');
if (hightoryEl) {
await hightoryEl.click();
await window.waitForTimeout(1500);
await window.screenshot({ path: path.join(outDir, '09_electron_history.png') });
console.log('2. Saved History');
}
// 3. Click Commands
console.log('Clicking Commands...');
console.log('Clicking Commands tab.');
await window.evaluate(() => {
const els = Array.from(document.querySelectorAll('div, button, a'));
const cmdEl = els.find(e => e.innerText && e.innerText.trim() === '몵령어');
if (cmdEl) cmdEl.click();
});
await window.waitForTimeout(1500);
await window.screenshot({ path: path.join(outDir, '10_electron_commands.png') });
console.log('3. Saved Commands');
// 4. Click Meeting Mode
await window.evaluate(() => {
const els = Array.from(document.querySelectorAll('div, button, a'));
const meetEl = els.find(e => e.innerText && e.innerText.trim() === 'meeting' || e.innerText.trim() === '뚜환');
if (meetEl) meetEl.click();
});
await window.waitForTimeout(1500);
await window.screenshot({ path: path.join(outDir, '11_electron_meeting_mode.png') });
console.log('4. Saved Meeting Mode');
// 5. Click Settings
await window.evaluate(() => {
const els = Array.from(document.querySelectorAll('div, button, a'));
const settEl = els.find(e => e.innerText && (e.innerText.trim() === 'settings' || e.innerText.trim() === '설앩'));
if (settEl) settEl.click();
});
await window.waitForTimeout(1500);
await window.screenshot({ path: path.join(outDir, '12_electron_settings_modal.png') });
console.log('5. Saved Settings Modal');
await app.close();
console.log('FULL_JOUT<EFBFBD><EFBFBD>VW<EFBFBD><EFBFBD>P<EFBFBD><EFBFBD>T<EFBFBD><EFBFBD><EFBFBD>NŸB<EFBFBD><EFBFBD><EFBFBD>[<EFBFBD><EFBFBD>[<EFBFBD><EFBFBD>\<EFBFBD><EFBFBD>^J
K<EFBFBD>[<EFBFBD>
HO<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<EFBFBD>˙^]
JK<EFBFBD><EFBFBD>]<EFBFBD>
\<EFBFBD><EFBFBD>O<EFBFBD>ˆ<EFBFBD>ۜ<EFBFBD><EFBFBD>K<EFBFBD>\<EFBFBD><EFBFBD>܊ ғ<EFBFBD>T<EFBFBD><EFBFBD>VHT<EFBFBD><EFBFBD>Ԏ<EFBFBD><EFBFBD>\<EFBFBD><EFBFBD>Nˆ<EFBFBD><EFBFBD><EFBFBD>\<EFBFBD>˙^]
JNŸJN