d3ro-voice/scripts/capture-launch-sandbox-e2e.js
Yun Chan 708e20f747
Some checks failed
CI Pipeline / Code Quality & Typecheck (push) Waiting to run
CI Pipeline / Test Suite (macos-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (ubuntu-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (windows-latest) (push) Blocked by required conditions
CI Pipeline / Build Validation (admin) (push) Blocked by required conditions
CI Pipeline / Build Validation (desktop) (push) Blocked by required conditions
Deploy Landing Page / deploy (push) Blocked by required conditions
Deploy Landing Page / build (push) Waiting to run
Release & Packaging Pipeline / Build & Publish Admin Docker Image (push) Failing after 8s
Release & Code Signing CA Pipeline / build-and-sign-windows (push) Failing after 1m51s
Build macOS / Build & Package (macOS) (push) Failing after 4s
Build macOS / Build & Package (macOS)-1 (push) Failing after 5s
Release & Code Signing CA Pipeline / build-and-sign-macos (push) Failing after 3s
Release & Packaging Pipeline / Package macOS Desktop App (push) Failing after 4s
Release & Packaging Pipeline / Package Windows Desktop App (push) Failing after 2m28s
Release & Packaging Pipeline / Publish Official GitHub Release (push) Has been skipped
feat: complete release preparation, 10+ ad mediation, CI/CD, and docker deployment
2026-08-20 11:12:05 +09:00

83 lines
3.2 KiB
JavaScript

const { chromium } = require('@playwright/test');
const path = require('path');
const fs = require('fs');
const SCREENSHOT_DIR = 'C:/Users/encep/.gemini/antigravity-cli/brain/3ab7ae82-5634-41d5-93a7-3c12c22503e2/screenshots';
const HTML_FILE = 'file:///' + path.resolve(__dirname, '../site/public/launch-readiness.html').replace(/\\/g, '/');
async function run() {
if (!fs.existsSync(SCREENSHOT_DIR)) {
fs.mkdirSync(SCREENSHOT_DIR, { recursive: true });
}
const browser = await chromium.launch({ channel: 'msedge', headless: true });
const context = await browser.newContext({ viewport: { width: 1440, height: 900 } });
const page = await context.newPage();
console.log('Navigating to:', HTML_FILE);
await page.goto(HTML_FILE);
await page.waitForTimeout(1000);
// 1. Hub 1: Free Tier Ads
console.log('Capturing Hub 1: Free Tier Ads...');
await page.screenshot({ path: path.join(SCREENSHOT_DIR, '05_sandbox_free_tier_ads.png'), fullPage: false });
// Open Rewarded Video Modal
const refillBtn = page.locator('button:has-text("Refill AI Quota")').first();
if (await refillBtn.isVisible()) {
await refillBtn.click();
await page.waitForTimeout(1200);
await page.screenshot({ path: path.join(SCREENSHOT_DIR, '06_sandbox_rewarded_video_modal.png'), fullPage: false });
await page.evaluate(() => {
const el = document.getElementById('rewarded-ad-modal');
if (el) el.classList.add('hidden');
});
await page.waitForTimeout(400);
}
// 2. Hub 2: Payment & Checkout
console.log('Capturing Hub 2: Multi-PG Checkout...');
await page.evaluate(() => switchTab('payment'));
await page.waitForTimeout(600);
await page.screenshot({ path: path.join(SCREENSHOT_DIR, '07_sandbox_payment_pricing_tiers.png'), fullPage: false });
// Click Subscribe Pro+ to show Checkout Modal
const subProPlusBtn = page.locator('button:has-text("Subscribe Pro+")').first();
if (await subProPlusBtn.isVisible()) {
await subProPlusBtn.click();
await page.waitForTimeout(600);
await page.screenshot({ path: path.join(SCREENSHOT_DIR, '08_sandbox_checkout_gateway_modal.png'), fullPage: false });
await page.evaluate(() => {
const el = document.getElementById('checkout-modal');
if (el) el.classList.add('hidden');
});
await page.waitForTimeout(400);
}
// 3. Hub 3: AI Customer Support (CA)
console.log('Capturing Hub 3: AI Customer Support...');
await page.evaluate(() => switchTab('support'));
await page.waitForTimeout(600);
// Ask prompt
await page.evaluate(() => {
if (typeof askBotQuestion === 'function') {
askBotQuestion('마이크 음성 인식이 안 돼요');
}
});
await page.waitForTimeout(1000);
await page.screenshot({ path: path.join(SCREENSHOT_DIR, '09_sandbox_ai_support_chat.png'), fullPage: false });
// 4. Hub 4: Admin Executive Command Desk
console.log('Capturing Hub 4: Admin Executive Command Desk...');
await page.evaluate(() => switchTab('admin'));
await page.waitForTimeout(600);
await page.screenshot({ path: path.join(SCREENSHOT_DIR, '10_sandbox_admin_monetization_crm.png'), fullPage: false });
await browser.close();
console.log('All 6 Sandbox E2E screenshots successfully captured!');
}
run().catch((err) => {
console.error(err);
process.exit(1);
});