42 lines
2.0 KiB
JavaScript
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();
|
|
})();
|