智教助手平台:完整初始化
- 前端:Vue3 + TS + Element Plus,24 个页面路由(课件/组题/教案/动画/思维导图/作文批改/命题/课堂/资源/社区等) - 后端:FastAPI + SQLAlchemy + SQLite,17 个路由模块,AI 服务层含降级模板 - AI:glm-5.x 推理模型已禁用思维链,确保输出真实内容 - 修复:ai_service 两处请求体注入 enable_thinking/thinking disabled - 测试账号:13900999999 / test1234
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
const { chromium } = require("playwright-core");
|
||||
|
||||
(async () => {
|
||||
const browser = await chromium.launch({
|
||||
executablePath: "C:/Program Files/Google/Chrome/Application/chrome.exe",
|
||||
args: ["--disable-blink-features=AutomationControlled"],
|
||||
});
|
||||
const page = await browser.newPage({ viewport: { width: 1440, height: 900 } });
|
||||
const errors = [];
|
||||
page.on("console", msg => { if (msg.type() === "error") errors.push(msg.text()); });
|
||||
page.on("pageerror", err => errors.push(err.message));
|
||||
|
||||
const BASE = "http://127.0.0.1:5175";
|
||||
const loginResp = await page.request.post("http://127.0.0.1:8010/api/auth/login", {
|
||||
data: { phone: "13943441149", password: "Test1234" },
|
||||
});
|
||||
const token = (await loginResp.json()).access_token;
|
||||
|
||||
await page.goto(BASE + "/login", { waitUntil: "networkidle" });
|
||||
await page.evaluate(t => { localStorage.setItem("token", t); localStorage.setItem("access_token", t); localStorage.setItem("zj_token", t); }, token);
|
||||
|
||||
// === TEST 1: Animation template gallery ===
|
||||
console.log("=== ANIMATION TEMPLATES ===");
|
||||
await page.goto(BASE + "/animation", { waitUntil: "networkidle" });
|
||||
await page.waitForTimeout(2000);
|
||||
const tplButtons = await page.$$(".tpl-btn");
|
||||
console.log("template buttons found:", tplButtons.length);
|
||||
|
||||
// Click first template
|
||||
if (tplButtons.length > 0) {
|
||||
await tplButtons[0].click();
|
||||
await page.waitForTimeout(2000);
|
||||
const previewIframe = await page.$(".tg-preview-wrap iframe, .preview-wrap iframe, iframe");
|
||||
if (previewIframe) {
|
||||
console.log("preview iframe: FOUND");
|
||||
} else {
|
||||
console.log("preview iframe: NOT FOUND");
|
||||
const allIframes = await page.$$("iframe");
|
||||
console.log("total iframes:", allIframes.length);
|
||||
}
|
||||
const cards = await page.$$(".tg-card, .result-card");
|
||||
console.log("result cards:", cards.length);
|
||||
}
|
||||
|
||||
// === TEST 2: Exercise template gallery ===
|
||||
console.log("\n=== EXERCISE TEMPLATES ===");
|
||||
await page.goto(BASE + "/exercise", { waitUntil: "networkidle" });
|
||||
await page.waitForTimeout(2000);
|
||||
const exTplBtns = await page.$$(".tpl-btn");
|
||||
console.log("exercise template buttons:", exTplBtns.length);
|
||||
|
||||
// === TEST 3: Courseware create page ===
|
||||
console.log("\n=== COURSEWARE CREATE ===");
|
||||
await page.goto(BASE + "/courseware/create", { waitUntil: "networkidle" });
|
||||
await page.waitForTimeout(1500);
|
||||
const textareas = await page.$$("textarea, input[type=text], .el-input__inner");
|
||||
console.log("input fields:", textareas.length);
|
||||
const genButtons = await page.$$("button:has-text('生成'), button:has-text('创建'), .gen-btn");
|
||||
console.log("generate buttons:", genButtons.length);
|
||||
|
||||
// === TEST 4: Classroom ===
|
||||
console.log("\n=== CLASSROOM ===");
|
||||
await page.goto(BASE + "/classroom", { waitUntil: "networkidle" });
|
||||
await page.waitForTimeout(1500);
|
||||
const classroomText = await page.evaluate(() => document.body.innerText.substring(0, 500));
|
||||
console.log("classroom has content:", classroomText.length > 50);
|
||||
|
||||
const realErrors = errors.filter(e => !e.includes("401") && !e.includes("403") && !e.includes("Failed to fetch"));
|
||||
console.log("\n=== TOTAL ERRORS (filtered):", realErrors.length, "===");
|
||||
realErrors.slice(0, 5).forEach(e => console.log(" ", e.substring(0, 120)));
|
||||
|
||||
await browser.close();
|
||||
})();
|
||||
Reference in New Issue
Block a user