e2e: poder verificar el sitio de produccion saltandose Cloudflare
Despues del cutover, la suite no servia para verificar www.feadulta.com: el WAF de Cloudflare devuelve 403 a las IPs desde las que corremos (la de Rafa y la del propio Hetzner), asi que por el dominio real no se comprueba nada. run.js acepta ahora hostResolverRules en el JSON del sitio y se lo pasa a Chromium como --host-resolver-rules. El navegador va directo al origen con el Host correcto, que es justo lo que queremos comprobar: lo que hemos cambiado es el origen, no Cloudflare. Se anade sites/www.json con las 11 URLs de produccion. Resultado del 3-ago tras el cutover: 11 de 11 en 200. Los WARN que salen son dos falsos positivos, ambos comprobados: - la baliza de GA4 aborta al cerrar la pagina en headless, y de paso confirma que GA4 dispara desde el servidor nuevo con el G-6RT9ZRS4LW correcto. - la "imagen rota" es un img con src vacio que crea el lazy-loader en tiempo de ejecucion. En el HTML no existe en ninguno de los dos servidores, y el numero de imagenes es identico entre Hetzner y CDMON (4 y 4 en las entradas, 1.253 y 1.253 en el listado de autores). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+10
-1
@@ -64,7 +64,16 @@ fs.mkdirSync(outDir, { recursive: true });
|
||||
|
||||
console.log(`[e2e] site=${siteName} targets=${targets.length} out=${outDir}`);
|
||||
|
||||
const browser = await chromium.launch({ headless: true });
|
||||
// hostResolverRules permite apuntar el navegador al origen saltandose el DNS publico.
|
||||
// Hace falta para verificar un sitio que esta detras de Cloudflare: el WAF devuelve 403
|
||||
// a las IPs desde las que corremos, asi que por el dominio real no se puede comprobar
|
||||
// nada. Formato de Chromium: "MAP www.ejemplo.com 1.2.3.4, MAP ejemplo.com 1.2.3.4".
|
||||
const launchArgs = site.hostResolverRules
|
||||
? [`--host-resolver-rules=${site.hostResolverRules}`]
|
||||
: [];
|
||||
if (launchArgs.length) console.log(`[e2e] host-resolver-rules: ${site.hostResolverRules}`);
|
||||
|
||||
const browser = await chromium.launch({ headless: true, args: launchArgs });
|
||||
const context = await browser.newContext({
|
||||
viewport: site.viewport ?? { width: 1366, height: 900 },
|
||||
userAgent: site.userAgent ?? 'feadulta-e2e/0.1',
|
||||
|
||||
Reference in New Issue
Block a user