d3ro-voice/scripts/playwright-submit-applovin.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

73 lines
2.9 KiB
JavaScript

// scripts/playwright-submit-applovin.js
const { chromium } = require('@playwright/test');
const path = require('path');
const fs = require('fs');
const OUTPUT_DIR = 'C:/Users/encep/.gemini/antigravity-cli/brain/3ab7ae82-5634-41d5-93a7-3c12c22503e2/screenshots/live_portal_signups';
const CREDS = {
email: 'yunchanpaca@gmail.com',
password: 'ONVI2v4J#y',
fullName: 'Yunchan Park',
company: 'D3RO Voice AI',
url: 'https://d3ro.app',
};
async function submitAppLovin() {
const browser = await chromium.launch({ channel: 'msedge', headless: true });
const context = await browser.newContext({
viewport: { width: 1440, height: 1080 },
userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36',
});
const page = await context.newPage();
console.log('Navigating to AppLovin MAX...');
await page.goto('https://dash.applovin.com/signup', { waitUntil: 'networkidle', timeout: 30000 });
await page.waitForTimeout(2000);
const nameInput = page.locator('input[placeholder*="name" i]').first();
const emailInput = page.locator('input[type="email"]').first();
const companyInput = page.locator('input[placeholder*="company" i]').first();
const websiteInput = page.locator('input[placeholder*="applovin.com" i], input[placeholder*="site" i]').first();
const storeUrlInput = page.locator('input[placeholder*="store" i]').first();
const passInputs = page.locator('input[type="password"]');
if (await nameInput.isVisible()) await nameInput.fill(CREDS.fullName);
if (await emailInput.isVisible()) await emailInput.fill(CREDS.email);
if (await companyInput.isVisible()) await companyInput.fill(CREDS.company);
if (await websiteInput.isVisible()) await websiteInput.fill(CREDS.url);
if (await storeUrlInput.isVisible()) await storeUrlInput.fill('https://play.google.com/store/apps/details?id=ai.d3ro.voice');
const count = await passInputs.count();
for (let i = 0; i < count; i++) {
await passInputs.nth(i).fill(CREDS.password);
}
// Scroll down
await page.evaluate(() => window.scrollBy(0, 400));
await page.waitForTimeout(1000);
// Check checkboxes
const checkboxes = page.locator('input[type="checkbox"]');
const cbCount = await checkboxes.count();
for (let i = 0; i < cbCount; i++) {
try {
await checkboxes.nth(i).check({ force: true });
} catch {}
}
const submitBtn = page.locator('button:has-text("Sign up"), button:has-text("Create Account"), button[type="submit"]').first();
if (await submitBtn.isVisible()) {
console.log('Clicking Sign up button...');
await submitBtn.click();
await page.waitForTimeout(6000);
}
const shotPath = path.join(OUTPUT_DIR, '02_applovin_max_final_signup_state.png');
await page.screenshot({ path: shotPath, fullPage: true });
console.log('AppLovin MAX final response captured:', shotPath);
await browser.close();
}
submitAppLovin().catch(console.error);