- el-slider 非原生 range(无 click 跳转), 改为按压手柄-移动-释放完整序列 - 开合两态截图对比脚本 open-compare.mjs - 滑杆 v-model 正常回写
37 lines
1.6 KiB
JavaScript
37 lines
1.6 KiB
JavaScript
// 拖拽移动验证: node scripts/drag-verify.mjs <token>
|
|
import puppeteer from 'puppeteer-core'
|
|
const EDGE = 'C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe'
|
|
const token = process.argv[2]
|
|
const browser = await puppeteer.launch({
|
|
executablePath: EDGE,
|
|
headless: 'new',
|
|
args: ['--window-size=1440,900', '--enable-unsafe-swiftshader', '--use-gl=angle', '--use-angle=swiftshader'],
|
|
defaultViewport: { width: 1440, height: 900 },
|
|
})
|
|
const page = await browser.newPage()
|
|
await page.goto(`http://localhost:8000/combine?token=${encodeURIComponent(token)}`, { waitUntil: 'networkidle2' })
|
|
await page.waitForSelector('.lib-item')
|
|
await page.click('.lib-item')
|
|
await new Promise(r => setTimeout(r, 600))
|
|
|
|
const box = await (await page.$('.canvas-box')).boundingBox()
|
|
const cx = box.x + box.width / 2, cy = box.y + box.height / 2
|
|
|
|
// 读取当前单元位置(通过画布标注无法直接读, 用截图对比 + __ccDebug)
|
|
const before = await page.evaluate(() => window.__ccDebug.getSelected())
|
|
|
|
// 真实拖拽: 按下 → 分步移动 → 松开
|
|
await page.mouse.move(cx, cy)
|
|
await page.mouse.down()
|
|
for (let i = 1; i <= 10; i++) {
|
|
await page.mouse.move(cx + i * 15, cy - i * 8)
|
|
await new Promise(r => setTimeout(r, 30))
|
|
}
|
|
await page.mouse.up()
|
|
await new Promise(r => setTimeout(r, 400))
|
|
const after = await page.evaluate(() => window.__ccDebug.getSelected())
|
|
await page.screenshot({ path: 'D:/Code/huamenchuang/shots/drag-after.png' })
|
|
console.log('拖拽前选中:', before, '| 拖拽后选中:', after)
|
|
console.log('拖拽流程完成(若单元移动, 截图可见)')
|
|
await browser.close()
|