74 lines
No EOL
2.9 KiB
JavaScript
74 lines
No EOL
2.9 KiB
JavaScript
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>NB<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>˙^]
|
||
JNJN |