Files
html/api/test_badge.js
2026-04-20 14:45:02 +02:00

42 lines
2.0 KiB
JavaScript

const { chromium } = require('playwright');
const fs = require('fs');
(async () => {
const browser = await chromium.launch({ headless: true });
const page = await browser.newPage();
const errs = [];
page.on('pageerror', e => errs.push({ type: 'pageerror', msg: e.message }));
page.on('console', m => { if (m.type() === 'error') errs.push({ type: 'console', msg: m.text() }); });
page.on('requestfailed', r => errs.push({ type: 'reqfail', url: r.url(), err: r.failure()?.errorText }));
const results = [];
for (const [name, url] of [
['WTP', 'https://weval-consulting.com/weval-technology-platform.html'],
['Master', 'https://weval-consulting.com/wevia-master.html']
]) {
await page.goto(url, { waitUntil: 'networkidle', timeout: 30000 });
await page.waitForTimeout(4000); // allow defer scripts to run
const info = await page.evaluate(() => {
return {
badgeEl: !!document.querySelector('#archi-meta-badge, [class*="archi-badge"]'),
badgeScript: !!document.querySelector('script[src*="archi-meta-badge"]'),
spotlightScript: !!document.querySelector('script[src*="archi-spotlight"]'),
bodyHTMLSize: document.body.innerHTML.length,
elementCount: document.querySelectorAll('*').length,
hasArchiMeta: typeof window.archiMeta !== 'undefined',
hasSpotlight: typeof window.archiSpotlight !== 'undefined'
};
});
results.push({ name, url, ...info });
}
fs.writeFileSync('/tmp/v90_badge_check.json', JSON.stringify({ results, errs }, null, 2));
for (const r of results) {
console.log(`${r.name}: badgeEl=${r.badgeEl} badgeScript=${r.badgeScript} spotlightScript=${r.spotlightScript} archiMeta=${r.hasArchiMeta} elements=${r.elementCount}`);
}
console.log(`Errors: ${errs.length}`);
for (const e of errs.slice(0, 5)) console.log(` [${e.type}] ${e.msg || e.url}`);
await browser.close();
})();