如何使用 Playwright 框架移动 Fabricjs 对象

How to move Fabricjs objects with Playwright framework

我的项目中 canvas 上有一个 fabricjs 对象。在我的 UI 测试中,我使用 Playwright 的内置鼠标方法来移动此对象。

也就是说,我在 (400, 400) 上有一个对象。使用下一个命令序列,我希望我的对象在正确的方向上移动到 400 点。

await page.mouse.move(400, 400);
await page.mouse.down;
await page.mouse.move(800, 400);
await page.mouse.up();

但是,它只是 select 对象而不移动它。我可以使用键盘(keyboard.down、keyboard.press('ArrowRight')等移动对象,并通过 mouse.click(400, 400) select 移动对象,但我无法移动它。

终于找到了解决办法。您所需要的只是“mouse.move”方法中的“步骤”选项。我认为这是因为网络驱动程序需要一些时间来移动 canvas 上的对象。使用“步骤”选项移动不是即时的,而是更真实的。

await page.mouse.down;
await page.mouse.move(800, 400, { steps: 20 });
await page.mouse.up();