Get puppeteer to produce a touch event - this also uncovered an error where a subsequent click would be picked up as a touch (see thisEventKey change)

This commit is contained in:
Eoghan Murray
2026-04-01 12:00:00 +08:00
parent 488949a5e3
commit 3c425397fb
3 changed files with 43 additions and 3 deletions

View File

@@ -67,6 +67,18 @@ describe('record integration tests', function (this: ISuite) {
await page.goto('about:blank');
await page.setContent(getHtml.call(this, 'link.html'));
await page.click('span');
// also tap on the span
const span = await page.waitForSelector('span');
const center = await page.evaluate((el) => {
const { x, y, width, height } = el.getBoundingClientRect();
return {
x: Math.round(x + width / 2),
y: Math.round(y + height / 2),
};
}, span);
await page.touchscreen.tap(center.x, center.y);
await page.click('a');
const snapshots = await page.evaluate('window.snapshots');