From b1657f3fc3f09586ffc4db75e71d983524d93b54 Mon Sep 17 00:00:00 2001 From: pissang Date: Thu, 20 Feb 2020 21:55:40 +0800 Subject: [PATCH] test: reduce screenshots when mousewheel in replay --- test/runTest/Timeline.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/test/runTest/Timeline.js b/test/runTest/Timeline.js index f115125f8..787a93b6c 100644 --- a/test/runTest/Timeline.js +++ b/test/runTest/Timeline.js @@ -31,12 +31,15 @@ module.exports = class Timeline { this._currentOpIndex = 0; this._client; + + this._isLastOpMousewheel = false; } _reset() { this._currentOpIndex = 0; this._current = Date.now(); this._elapsedTime = 0; + this._isLastOpMousewheel = false; } @@ -102,6 +105,7 @@ module.exports = class Timeline { } let page = this._page; + let takenScreenshot = false; switch (op.type) { case 'mousedown': await page.mouse.move(op.x, op.y); @@ -130,7 +134,7 @@ module.exports = class Timeline { element.dispatchEvent(event); }, op.x, op.y, op.deltaX || 0, op.deltaY); - + this._isLastOpMousewheel = true; // console.log('mousewheel', op.x, op.y, op.deltaX, op.deltaY); // await this._client.send('Input.dispatchMouseEvent', { // type: 'mouseWheel', @@ -139,9 +143,10 @@ module.exports = class Timeline { // deltaX: op.deltaX, // deltaY: op.deltaY // }); - // break; + break; case 'screenshot': await takeScreenshot(); + takenScreenshot = true; break; case 'valuechange': if (op.target === 'select') { @@ -159,7 +164,16 @@ module.exports = class Timeline { // TODO Configuration time await waitTime(delay / playbackSpeed); await takeScreenshot(); + takenScreenshot = true; this._currentOpIndex++; } + + if (this._isLastOpMousewheel && op.type !== 'mousewheel') { + // Only take screenshot after mousewheel finished + if (!takenScreenshot) { + takeScreenshot(); + } + this._isLastOpMousewheel = false; + } } }; \ No newline at end of file -- GitLab