feat(dogfood-wave1): Studio retries, Chat error, LLM gateway, kill snapshot, topbar cleanup (#14)
This commit was merged in pull request #14.
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
// Real human dogfood — persona chip click should sign in directly.
|
||||
import { chromium } from "playwright";
|
||||
|
||||
const URL = "https://canvas.flow-master.ai/";
|
||||
|
||||
const b = await chromium.launch({ headless: true });
|
||||
const ctx = await b.newContext({ viewport: { width: 1440, height: 900 } });
|
||||
const p = await ctx.newPage();
|
||||
|
||||
const calls = [];
|
||||
p.on("response", (r) => {
|
||||
const u = r.url();
|
||||
if (u.includes("/api/")) calls.push({ status: r.status(), url: u.replace("https://canvas.flow-master.ai", "") });
|
||||
});
|
||||
|
||||
console.log("[1] Visit canvas.flow-master.ai");
|
||||
await p.goto(URL, { waitUntil: "domcontentloaded" });
|
||||
await p.waitForTimeout(2000);
|
||||
|
||||
console.log("[2] Click CEO persona chip");
|
||||
await p.locator(".persona-chip", { hasText: /Mariana/ }).click();
|
||||
await p.waitForTimeout(4000);
|
||||
|
||||
console.log("[3] Check scene + url");
|
||||
const onLogin = (await p.locator(".login-page").count()) > 0;
|
||||
const onLanding = (await p.locator(".hero-eyebrow").count()) > 0;
|
||||
const sceneClass = await p.evaluate(() => document.querySelector("[class*='shell-']")?.className);
|
||||
console.log(` onLogin=${onLogin} onLanding=${onLanding} shell=${sceneClass}`);
|
||||
|
||||
console.log("[4] Try Mission");
|
||||
await p.locator(".tab", { hasText: /Mission/ }).click().catch(() => {});
|
||||
await p.waitForTimeout(3000);
|
||||
const onMission = (await p.locator(".bp-node-body, .empty").count()) > 0;
|
||||
console.log(` onMission=${onMission}`);
|
||||
|
||||
await p.screenshot({ path: "/tmp/canvas-evidence/05-LIVE-after-fix.png", fullPage: false });
|
||||
|
||||
console.log("\n=== API CALLS ===");
|
||||
const status = {};
|
||||
for (const c of calls) status[c.status] = (status[c.status] || 0) + 1;
|
||||
console.log("status counts:", JSON.stringify(status));
|
||||
console.log("first 10:");
|
||||
for (const c of calls.slice(0, 10)) console.log(` ${c.status} ${c.url.slice(0, 80)}`);
|
||||
|
||||
await b.close();
|
||||
Reference in New Issue
Block a user