53 lines
1.9 KiB
JavaScript
53 lines
1.9 KiB
JavaScript
|
|
import { chromium } from "playwright";
|
||
|
|
|
||
|
|
const URL_BASE = "http://localhost:4001";
|
||
|
|
|
||
|
|
const browser = await chromium.launch({
|
||
|
|
executablePath: "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
|
||
|
|
headless: true,
|
||
|
|
args: ["--no-sandbox"],
|
||
|
|
});
|
||
|
|
const context = await browser.newContext({
|
||
|
|
viewport: { width: 1440, height: 900 },
|
||
|
|
});
|
||
|
|
const page = await context.newPage();
|
||
|
|
|
||
|
|
page.on("console", (msg) => {
|
||
|
|
if (msg.type() === "error" || msg.text().includes("agent") || msg.text().includes("scan")) {
|
||
|
|
console.log("[browser]", msg.type(), msg.text());
|
||
|
|
}
|
||
|
|
});
|
||
|
|
page.on("pageerror", (err) => console.log("[pageerror]", err.message));
|
||
|
|
page.on("response", (res) => {
|
||
|
|
if (res.url().includes("/api/mcp") || res.url().includes("/api/v1/collection-confirm")) {
|
||
|
|
console.log("[api]", res.status(), res.url());
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
await page.goto(`${URL_BASE}/login`, { waitUntil: "domcontentloaded", timeout: 30000 });
|
||
|
|
await page.fill("#login-email", "test-tooltip@wfdash.local");
|
||
|
|
await page.fill("#login-password", "test12345678");
|
||
|
|
await page.click('button:has-text("Sign In")');
|
||
|
|
await page.waitForTimeout(2000);
|
||
|
|
|
||
|
|
await page.goto(`${URL_BASE}/collection-confirm`, { waitUntil: "domcontentloaded", timeout: 30000 });
|
||
|
|
await page.waitForTimeout(8000);
|
||
|
|
|
||
|
|
console.log("→ clicking Run agent scan…");
|
||
|
|
await page.locator('[data-testid="collection-confirm-run-agent-scan"]').click();
|
||
|
|
await page.waitForTimeout(3000);
|
||
|
|
|
||
|
|
const panel = page.locator('[data-testid="collection-confirm-agent-scan-result"]');
|
||
|
|
const panelCount = await panel.count();
|
||
|
|
console.log("→ result panel count:", panelCount);
|
||
|
|
|
||
|
|
if (panelCount > 0) {
|
||
|
|
console.log("→ panel text:", (await panel.textContent())?.slice(0, 400));
|
||
|
|
} else {
|
||
|
|
// Take screenshot to see what's happening
|
||
|
|
await page.screenshot({ path: "/tmp/cc-no-panel.png", fullPage: false });
|
||
|
|
console.log("→ no panel rendered, screenshot saved");
|
||
|
|
}
|
||
|
|
|
||
|
|
await browser.close();
|
||
|
|
console.log("→ done");
|