feat(web-platform): release V0.1
This commit is contained in:
@@ -5,10 +5,12 @@ const fixture = (relative: string) => fileURLToPath(new URL(`../fixtures/${relat
|
||||
|
||||
const SIMPLE_MODEL = `
|
||||
<mujoco model="e2e">
|
||||
<compiler angle="radian"/>
|
||||
<worldbody>
|
||||
<light pos="0 0 3"/>
|
||||
<body name="box" pos="0 0 1">
|
||||
<joint name="slide" type="slide" axis="1 0 0" range="-1 1"/>
|
||||
<joint name="hinge" type="hinge" axis="0 1 0" range="-1.57079632679 1.57079632679"/>
|
||||
<geom name="box_geom" type="box" size=".2 .2 .2" mass="1"/>
|
||||
</body>
|
||||
</worldbody>
|
||||
@@ -39,6 +41,12 @@ test('显示中文平台骨架并加载单文件模型', async ({page}) => {
|
||||
await expect(page.getByRole('heading', {name: 'MuJoCo Web 仿真平台'})).toBeVisible();
|
||||
await expect(page.getByRole('main').getByText('拖放模型工程到此处')).toBeVisible();
|
||||
await expect(page.getByRole('img',{name:'XYZ 方向指示器'})).toBeVisible();
|
||||
await expect(page.getByRole('button',{name:'切换到白天主题'})).toHaveText('☀');
|
||||
await page.getByRole('button',{name:'切换到白天主题'}).click();
|
||||
await expect(page.locator('#root > div')).toHaveClass(/theme-light/);
|
||||
await expect(page.getByRole('button',{name:'切换到黑夜主题'})).toHaveText('☾');
|
||||
await page.getByRole('button',{name:'切换到黑夜主题'}).click();
|
||||
await expect(page.locator('#root > div')).toHaveClass(/theme-dark/);
|
||||
|
||||
await page.locator('input[type="file"]').first().setInputFiles({
|
||||
name: 'model.xml',
|
||||
@@ -48,7 +56,21 @@ test('显示中文平台骨架并加载单文件模型', async ({page}) => {
|
||||
|
||||
await expect(page.getByText('WASM 已加载')).toBeVisible({timeout: 30_000});
|
||||
await expect(page.getByText('motor')).toBeVisible();
|
||||
await expect(page.getByText('slide')).toBeVisible();
|
||||
await expect(page.getByText('slide').first()).toBeVisible();
|
||||
const structure=page.getByRole('navigation',{name:'模型结构树'});await expect(structure).toBeVisible();await structure.getByRole('treeitem',{name:/hinge/}).hover();
|
||||
await expect(page.getByRole('alert')).toHaveCount(0);
|
||||
await expect(page.getByRole('button',{name:'重置关节'})).toBeVisible();
|
||||
await page.getByRole('button',{name:'高级'}).click();
|
||||
await expect(page.getByText('下限 -1.571 rad')).toBeVisible();
|
||||
await expect(page.getByText('上限 1.571 rad')).toBeVisible();
|
||||
await page.getByRole('button',{name:'rad 弧度制'}).click();
|
||||
await expect(page.getByText('下限 -90.000°')).toBeVisible();
|
||||
await expect(page.getByText('上限 90.000°')).toBeVisible();
|
||||
await page.getByRole('button',{name:'忽略关节限位'}).click();
|
||||
await expect(page.getByRole('button',{name:'忽略关节限位'})).toHaveAttribute('aria-pressed','true');
|
||||
await expect(page.getByText('已忽略').first()).toBeVisible();
|
||||
await page.getByRole('button',{name:'重置关节'}).click();
|
||||
await expect(page.getByRole('button',{name:'▶ 播放'})).toBeVisible();
|
||||
});
|
||||
|
||||
test('加载包含 include、OBJ、STL 与 PNG 的工程', async ({page}) => {
|
||||
|
||||
Reference in New Issue
Block a user