0d986f60bd
web-platform-ci / Standalone decision service (no cloud credentials) (push) Has been cancelled
web-platform-ci / TypeScript, lint, unit, build (push) Has been cancelled
web-platform-ci / Playwright E2E (push) Has been cancelled
lekiwi-compatibility / cpu-compatibility (push) Has been cancelled
集成服务器托管模型、自然语言移动与有界抓放、内置 LeKiwi URL 导入和双摄像头;同步部署契约与指定域名 iframe 白名单,保留原有物理安全、会话及调用预算防护。 更新 npm 包及锁文件版本、CHANGELOG 与发布文档。提交前 typecheck、120 项定向前端测试和 44 项后端测试通过(3 项可选跳过);真实 v2 云模型抓放仍待单独验收,不包含运行密钥或构建产物。
33 lines
1.6 KiB
TypeScript
33 lines
1.6 KiB
TypeScript
import { expect, test } from '@playwright/test';
|
|
import { collectRobotResults, runWebsiteCommand } from './website.helpers';
|
|
|
|
test('主工作台:加载预设、语言命名目标及连续自由坐标抓放', async ({ page }, info) => {
|
|
await collectRobotResults(page);
|
|
await page.goto('/');
|
|
await page.getByRole('tab', { name: '控制台', exact: true }).click();
|
|
await page.getByRole('button', { name: '机器人语言控制', exact: true }).click();
|
|
const panel = page.getByLabel('机器人语言控制', { exact: true });
|
|
await expect(panel.locator('input[type=password], details')).toHaveCount(0);
|
|
await panel.getByRole('button', { name: '载入预设场景' }).click();
|
|
await expect(panel.getByRole('status')).toContainText('预设已载入并暂停', { timeout: 90000 });
|
|
const first = await runWebsiteCommand(page, '把方块搬到 B 区', info, 'named-target');
|
|
expect(first.goal).toEqual([0.257, 0.75, 0.128]);
|
|
expect(first.sample.onGoalSupport).toBe(true);
|
|
expect(first.transported).toBeGreaterThan(0.7);
|
|
expect(first.llmCalls).toBe(2);
|
|
expect(first.jevCalls).toBe(14);
|
|
expect(first.qualityScore).toBe(75);
|
|
const second = await runWebsiteCommand(
|
|
page,
|
|
'把方块搬到 (0.25,0.50) 米',
|
|
info,
|
|
'coordinate-target',
|
|
);
|
|
expect(second.goal).toEqual([0.25, 0.5, 0.128]);
|
|
expect(second.sample.time).toBeGreaterThan(first.sample.time);
|
|
expect(second.transported).toBeGreaterThan(0.2);
|
|
expect(second.runId).not.toBe(first.runId);
|
|
await expect(page.getByRole('button', { name: '强化学习任务', exact: true })).toBeVisible();
|
|
await page.screenshot({ path: info.outputPath('language-workbench.png') });
|
|
});
|