70 lines
2.5 KiB
JavaScript
70 lines
2.5 KiB
JavaScript
const { chromium } = require('/var/www/html/api/node_modules/playwright');
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
const OUTDIR = process.env.OUTDIR || __dirname;
|
|
const BASE = 'https://weval-consulting.com';
|
|
|
|
(async () => {
|
|
const browser = await chromium.launch({
|
|
headless: true,
|
|
args: ['--no-sandbox', '--disable-dev-shm-usage', '--disable-gpu']
|
|
});
|
|
|
|
const ctx = await browser.newContext({
|
|
viewport: { width: 1280, height: 720 },
|
|
recordVideo: { dir: OUTDIR, size: { width: 1280, height: 720 } },
|
|
userAgent: 'WEVIA-Opus-Playwright-Proof/1.0'
|
|
});
|
|
|
|
const page = await ctx.newPage();
|
|
const results = { ts: new Date().toISOString(), tests: [] };
|
|
|
|
// Test 1: home weval-consulting
|
|
try {
|
|
await page.goto(BASE + '/', { waitUntil: 'domcontentloaded', timeout: 20000 });
|
|
await page.waitForTimeout(2000);
|
|
await page.screenshot({ path: path.join(OUTDIR, '01-home.png'), fullPage: false });
|
|
const title = await page.title();
|
|
results.tests.push({ name: 'home', ok: true, title });
|
|
console.log('[OK] home:', title);
|
|
} catch (e) {
|
|
results.tests.push({ name: 'home', ok: false, err: e.message });
|
|
console.log('[ERR] home:', e.message);
|
|
}
|
|
|
|
// Test 2: WEVIA cascade status live
|
|
try {
|
|
const resp = await page.request.post(BASE + '/api/wevia-chat-v2-direct.php', {
|
|
data: { message: 'cascade status live', session: 'opus-pw-test' },
|
|
headers: { 'Content-Type': 'application/json' }
|
|
});
|
|
const data = await resp.json();
|
|
results.tests.push({ name: 'cascade_status', ok: !!data.content, content: (data.content || '').substring(0, 300) });
|
|
console.log('[OK] cascade_status executed, tool=' + data.tool);
|
|
} catch (e) {
|
|
results.tests.push({ name: 'cascade_status', ok: false, err: e.message });
|
|
console.log('[ERR] cascade_status:', e.message);
|
|
}
|
|
|
|
// Test 3: WEVIA auto-wire proof
|
|
try {
|
|
const resp = await page.request.post(BASE + '/api/wevia-chat-v2-direct.php', {
|
|
data: { message: 'ping', session: 'opus-pw-ping' },
|
|
headers: { 'Content-Type': 'application/json' }
|
|
});
|
|
const data = await resp.json();
|
|
results.tests.push({ name: 'ping', ok: true, elapsed_ms: data.elapsed_ms });
|
|
console.log('[OK] ping:', data.elapsed_ms + 'ms');
|
|
} catch (e) {
|
|
results.tests.push({ name: 'ping', ok: false, err: e.message });
|
|
}
|
|
|
|
fs.writeFileSync(path.join(OUTDIR, 'results.json'), JSON.stringify(results, null, 2));
|
|
await ctx.close();
|
|
await browser.close();
|
|
|
|
console.log('DONE. Output:', OUTDIR);
|
|
console.log('Results:', JSON.stringify(results, null, 2));
|
|
})();
|