diff --git a/bigbluebutton-tests/playwright/core/elements.js b/bigbluebutton-tests/playwright/core/elements.js index 062087c28c..f48918b7be 100644 --- a/bigbluebutton-tests/playwright/core/elements.js +++ b/bigbluebutton-tests/playwright/core/elements.js @@ -444,6 +444,14 @@ exports.zoomOutButton = 'button[data-test="zoomOutBtn"]'; exports.wbPan = 'button[data-test="panButton"]'; exports.wbEraser = 'button[id="TD-PrimaryTools-Eraser"]'; exports.wbArrowShape = 'button[id="TD-PrimaryTools-ArrowTopRight"]'; +exports.wbDelete = 'span[id="TD-Delete"]'; +exports.wbUndo = 'button[id="TD-TopPanel-Undo"]'; +exports.wbRedo = 'button[id="TD-TopPanel-Redo"]'; +exports.wbStyles = 'button[id="TD-Styles"]'; +exports.wbColorRed = 'button[id="TD-Styles-Color-Swatch-red"]'; +exports.wbFillDrawing = 'button[id="TD-Styles-Fill"]'; +exports.wbDashDotted = 'div[id="TD-Styles-Dash-dotted"]'; +exports.wbSizeLarge = 'div[id="TD-Styles-Dash-large"]'; // About modal exports.showAboutModalButton = 'li[data-test="aboutModal"]'; diff --git a/bigbluebutton-tests/playwright/whiteboard/changeStyles.js b/bigbluebutton-tests/playwright/whiteboard/changeStyles.js new file mode 100644 index 0000000000..988601b320 --- /dev/null +++ b/bigbluebutton-tests/playwright/whiteboard/changeStyles.js @@ -0,0 +1,121 @@ +const { expect } = require('@playwright/test'); +const e = require('../core/elements'); +const { ELEMENT_WAIT_LONGER_TIME } = require('../core/constants'); +const { MultiUsers } = require('../user/multiusers'); +const { constructClipObj } = require('../core/util'); + +class ChangeStyles extends MultiUsers { + constructor(browser, context) { + super(browser, context); + } + + async changingColor() { + await this.modPage.waitForSelector(e.whiteboard, ELEMENT_WAIT_LONGER_TIME); + + const wbBox = await this.modPage.getElementBoundingBox(e.whiteboard); + const clipObj = constructClipObj(wbBox); + const screenshotOptions = { + maxDiffPixelRatio: 0.05, + clip: clipObj, + }; + + await this.modPage.waitAndClick(e.wbShapesButton); + await this.modPage.waitAndClick(e.wbEllipseShape); + + await this.modPage.page.mouse.move(wbBox.x + 0.3 * wbBox.width, wbBox.y + 0.3 * wbBox.height); + await this.modPage.page.mouse.down(); + await this.modPage.page.mouse.move(wbBox.x + 0.7 * wbBox.width, wbBox.y + 0.7 * wbBox.height); + await this.modPage.page.mouse.up(); + + await this.modPage.waitAndClick(e.wbStyles); + await this.modPage.waitAndClick(e.wbColorRed); + await this.modPage.waitAndClick(e.wbStyles); + + await expect(this.modPage.page).toHaveScreenshot('moderator1-change-color.png', screenshotOptions); + + await expect(this.userPage.page).toHaveScreenshot('viewer-change-color.png', screenshotOptions); + } + + async fillDrawing() { + await this.modPage.waitForSelector(e.whiteboard, ELEMENT_WAIT_LONGER_TIME); + + const wbBox = await this.modPage.getElementBoundingBox(e.whiteboard); + const clipObj = constructClipObj(wbBox); + const screenshotOptions = { + maxDiffPixelRatio: 0.05, + clip: clipObj, + }; + + await this.modPage.waitAndClick(e.wbShapesButton); + await this.modPage.waitAndClick(e.wbEllipseShape); + + await this.modPage.page.mouse.move(wbBox.x + 0.3 * wbBox.width, wbBox.y + 0.3 * wbBox.height); + await this.modPage.page.mouse.down(); + await this.modPage.page.mouse.move(wbBox.x + 0.7 * wbBox.width, wbBox.y + 0.7 * wbBox.height); + await this.modPage.page.mouse.up(); + + await this.modPage.waitAndClick(e.wbStyles); + await this.modPage.waitAndClick(e.wbFillDrawing); + await this.modPage.press('Escape'); + + await expect(this.modPage.page).toHaveScreenshot('moderator1-fill-drawing.png', screenshotOptions); + + await expect(this.userPage.page).toHaveScreenshot('viewer-fill-drawing.png', screenshotOptions); + } + + async dashDrawing() { + await this.modPage.waitForSelector(e.whiteboard, ELEMENT_WAIT_LONGER_TIME); + + const wbBox = await this.modPage.getElementBoundingBox(e.whiteboard); + const clipObj = constructClipObj(wbBox); + const screenshotOptions = { + maxDiffPixelRatio: 0.05, + clip: clipObj, + }; + + await this.modPage.waitAndClick(e.wbShapesButton); + await this.modPage.waitAndClick(e.wbEllipseShape); + + await this.modPage.page.mouse.move(wbBox.x + 0.3 * wbBox.width, wbBox.y + 0.3 * wbBox.height); + await this.modPage.page.mouse.down(); + await this.modPage.page.mouse.move(wbBox.x + 0.7 * wbBox.width, wbBox.y + 0.7 * wbBox.height); + await this.modPage.page.mouse.up(); + + await this.modPage.waitAndClick(e.wbStyles); + await this.modPage.waitAndClick(e.wbDashDotted); + await this.modPage.waitAndClick(e.wbStyles); + + await expect(this.modPage.page).toHaveScreenshot('moderator1-dash-drawing.png', screenshotOptions); + + await expect(this.userPage.page).toHaveScreenshot('viewer-dash-drawing.png', screenshotOptions); + } + + async sizeDrawing() { + await this.modPage.waitForSelector(e.whiteboard, ELEMENT_WAIT_LONGER_TIME); + + const wbBox = await this.modPage.getElementBoundingBox(e.whiteboard); + const clipObj = constructClipObj(wbBox); + const screenshotOptions = { + maxDiffPixelRatio: 0.05, + clip: clipObj, + }; + + await this.modPage.waitAndClick(e.wbShapesButton); + await this.modPage.waitAndClick(e.wbEllipseShape); + + await this.modPage.page.mouse.move(wbBox.x + 0.3 * wbBox.width, wbBox.y + 0.3 * wbBox.height); + await this.modPage.page.mouse.down(); + await this.modPage.page.mouse.move(wbBox.x + 0.7 * wbBox.width, wbBox.y + 0.7 * wbBox.height); + await this.modPage.page.mouse.up(); + + await this.modPage.waitAndClick(e.wbStyles); + await this.modPage.waitAndClick(e.wbSizeLarge); + await this.modPage.waitAndClick(e.wbStyles); + + await expect(this.modPage.page).toHaveScreenshot('moderator1-size-drawing.png', screenshotOptions); + + await expect(this.userPage.page).toHaveScreenshot('viewer-size-drawing.png', screenshotOptions); + } +} + +exports.ChangeStyles = ChangeStyles; diff --git a/bigbluebutton-tests/playwright/whiteboard/deleteDrawing.js b/bigbluebutton-tests/playwright/whiteboard/deleteDrawing.js new file mode 100644 index 0000000000..5f790e5e50 --- /dev/null +++ b/bigbluebutton-tests/playwright/whiteboard/deleteDrawing.js @@ -0,0 +1,38 @@ +const { expect } = require('@playwright/test'); +const Page = require('../core/page'); +const e = require('../core/elements'); +const { ELEMENT_WAIT_LONGER_TIME } = require('../core/constants'); +const { MultiUsers } = require('../user/multiusers'); +const { constructClipObj } = require('../core/util'); + +class DeleteDrawing extends MultiUsers { + constructor(browser, page) { + super(browser, page); + } + + async test() { + await this.modPage.waitForSelector(e.whiteboard, ELEMENT_WAIT_LONGER_TIME); + + const wbBox = await this.modPage.getElementBoundingBox(e.whiteboard); + const clipObj = constructClipObj(wbBox); + const screenshotOptions = { + maxDiffPixels: 1000, + clip: clipObj, + }; + + await this.modPage.waitAndClick(e.wbArrowShape); + + await this.modPage.page.mouse.move(wbBox.x + 0.3 * wbBox.width, wbBox.y + 0.3 * wbBox.height); + await this.modPage.page.mouse.down(); + await this.modPage.page.mouse.move(wbBox.x + 0.7 * wbBox.width, wbBox.y + 0.7 * wbBox.height); + await this.modPage.page.mouse.up(); + + await this.modPage.waitAndClick(e.wbDelete); + + await expect(this.modPage.page).toHaveScreenshot('moderator1-delete-drawing.png', screenshotOptions); + + await expect(this.userPage.page).toHaveScreenshot('viewer-delete-drawing.png', screenshotOptions); + } +} + +exports.DeleteDrawing = DeleteDrawing; diff --git a/bigbluebutton-tests/playwright/whiteboard/drawEllipse.js b/bigbluebutton-tests/playwright/whiteboard/drawEllipse.js index 6809bcf1ed..0cdd7d70f3 100644 --- a/bigbluebutton-tests/playwright/whiteboard/drawEllipse.js +++ b/bigbluebutton-tests/playwright/whiteboard/drawEllipse.js @@ -15,7 +15,7 @@ class DrawEllipse extends MultiUsers { const wbBox = await this.modPage.getElementBoundingBox(e.whiteboard); const clipObj = constructClipObj(wbBox); const screenshotOptions = { - maxDiffPixels: 1000, + maxDiffPixelRatio: 0.05, clip: clipObj, }; diff --git a/bigbluebutton-tests/playwright/whiteboard/realTimeText.js b/bigbluebutton-tests/playwright/whiteboard/realTimeText.js new file mode 100644 index 0000000000..eb3541688d --- /dev/null +++ b/bigbluebutton-tests/playwright/whiteboard/realTimeText.js @@ -0,0 +1,39 @@ +const { expect } = require('@playwright/test'); +const e = require('../core/elements'); +const { ELEMENT_WAIT_LONGER_TIME } = require('../core/constants'); +const { MultiUsers } = require('../user/multiusers'); +const { constructClipObj } = require('../core/util'); + +class RealTimeText extends MultiUsers { + constructor(browser, context) { + super(browser, context); + } + + async realTimeTextTyping() { + await this.modPage.waitForSelector(e.whiteboard, ELEMENT_WAIT_LONGER_TIME); + + const wbBox = await this.modPage.getElementBoundingBox(e.whiteboard); + const clipObj = constructClipObj(wbBox); + const screenshotOptions = { + maxDiffPixelRatio: 0.05, + clip: clipObj, + }; + + await this.modPage.waitAndClick(e.wbTextShape); + + await this.modPage.page.mouse.click(wbBox.x + 0.3 * wbBox.width, wbBox.y + 0.3 * wbBox.height); + + await this.modPage.press('A'); + + await expect(this.modPage.page).toHaveScreenshot('moderator1-realtime-text.png', screenshotOptions); + await expect(this.userPage.page).toHaveScreenshot('viewer-realtime-text.png', screenshotOptions); + + await this.modPage.press('A'); + await this.modPage.page.mouse.click(wbBox.x + 0.6 * wbBox.width, wbBox.y + 0.6 * wbBox.height); + + await expect(this.modPage.page).toHaveScreenshot('moderator1-realtime-text-2.png', screenshotOptions); + await expect(this.userPage.page).toHaveScreenshot('viewer-realtime-text-2.png', screenshotOptions); + } +} + +exports.RealTimeText = RealTimeText; diff --git a/bigbluebutton-tests/playwright/whiteboard/redoDraw.js b/bigbluebutton-tests/playwright/whiteboard/redoDraw.js new file mode 100644 index 0000000000..51918aff7b --- /dev/null +++ b/bigbluebutton-tests/playwright/whiteboard/redoDraw.js @@ -0,0 +1,39 @@ +const { expect } = require('@playwright/test'); +const Page = require('../core/page'); +const e = require('../core/elements'); +const { ELEMENT_WAIT_LONGER_TIME } = require('../core/constants'); +const { MultiUsers } = require('../user/multiusers'); +const { constructClipObj } = require('../core/util'); + +class RedoDrawing extends MultiUsers { + constructor(browser, page) { + super(browser, page); + } + + async test() { + await this.modPage.waitForSelector(e.whiteboard, ELEMENT_WAIT_LONGER_TIME); + + const wbBox = await this.modPage.getElementBoundingBox(e.whiteboard); + const clipObj = constructClipObj(wbBox); + const screenshotOptions = { + maxDiffPixels: 1000, + clip: clipObj, + }; + + await this.modPage.waitAndClick(e.wbArrowShape); + + await this.modPage.page.mouse.move(wbBox.x + 0.3 * wbBox.width, wbBox.y + 0.3 * wbBox.height); + await this.modPage.page.mouse.down(); + await this.modPage.page.mouse.move(wbBox.x + 0.7 * wbBox.width, wbBox.y + 0.7 * wbBox.height); + await this.modPage.page.mouse.up(); + + await this.modPage.waitAndClick(e.wbUndo); + await this.modPage.waitAndClick(e.wbRedo); + + await expect(this.modPage.page).toHaveScreenshot('moderator1-redo-drawing.png', screenshotOptions); + + await expect(this.userPage.page).toHaveScreenshot('viewer-redo-drawing.png', screenshotOptions); + } +} + +exports.RedoDrawing = RedoDrawing; diff --git a/bigbluebutton-tests/playwright/whiteboard/undoDraw.js b/bigbluebutton-tests/playwright/whiteboard/undoDraw.js new file mode 100644 index 0000000000..fd692aa283 --- /dev/null +++ b/bigbluebutton-tests/playwright/whiteboard/undoDraw.js @@ -0,0 +1,38 @@ +const { expect } = require('@playwright/test'); +const Page = require('../core/page'); +const e = require('../core/elements'); +const { ELEMENT_WAIT_LONGER_TIME } = require('../core/constants'); +const { MultiUsers } = require('../user/multiusers'); +const { constructClipObj } = require('../core/util'); + +class UndoDrawing extends MultiUsers { + constructor(browser, page) { + super(browser, page); + } + + async test() { + await this.modPage.waitForSelector(e.whiteboard, ELEMENT_WAIT_LONGER_TIME); + + const wbBox = await this.modPage.getElementBoundingBox(e.whiteboard); + const clipObj = constructClipObj(wbBox); + const screenshotOptions = { + maxDiffPixels: 1000, + clip: clipObj, + }; + + await this.modPage.waitAndClick(e.wbArrowShape); + + await this.modPage.page.mouse.move(wbBox.x + 0.3 * wbBox.width, wbBox.y + 0.3 * wbBox.height); + await this.modPage.page.mouse.down(); + await this.modPage.page.mouse.move(wbBox.x + 0.7 * wbBox.width, wbBox.y + 0.7 * wbBox.height); + await this.modPage.page.mouse.up(); + + await this.modPage.waitAndClick(e.wbUndo); + + await expect(this.modPage.page).toHaveScreenshot('moderator-undo-drawing.png', screenshotOptions); + + await expect(this.userPage.page).toHaveScreenshot('viewer-undo-drawing.png', screenshotOptions); + } +} + +exports.UndoDrawing = UndoDrawing; diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js index 1bf2b73daf..fbb8dbf4f5 100644 --- a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js +++ b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js @@ -14,6 +14,11 @@ const { DrawArrow } = require('./drawArrow'); const { MultiUsers } = require('../user/multiusers'); const { encodeCustomParams } = require('../customparameters/util'); const { PARAMETER_HIDE_PRESENTATION_TOAST } = require('../core/constants'); +const { DeleteDrawing } = require('./deleteDrawing'); +const { UndoDrawing } = require('./undoDraw'); +const { RedoDrawing } = require('./redoDraw'); +const { ChangeStyles } = require('./changeStyles'); +const { RealTimeText } = require('./realTimeText'); const hidePresentationToast = encodeCustomParams(PARAMETER_HIDE_PRESENTATION_TOAST); @@ -113,4 +118,60 @@ test.describe.parallel('Whiteboard tools - visual regression', () => { await drawArrow.initModPage2(true, context, { customParameter: hidePresentationToast }); await drawArrow.test(); }); + + test('Delete drawing', async ({ browser, context, page }) => { + const deleteDrawing = new DeleteDrawing(browser, context); + await deleteDrawing.initModPage(page, true, { customMeetingId: 'draw_line_meeting', customParameter: hidePresentationToast }); + await deleteDrawing.initUserPage(true, context, { customParameter: hidePresentationToast }); + await deleteDrawing.test(); + }); + + test('Undo drawing', async ({ browser, context, page }) => { + const undoDrawing = new UndoDrawing(browser, context); + await undoDrawing.initModPage(page, true, { customMeetingId: 'draw_line_meeting', customParameter: hidePresentationToast }); + await undoDrawing.initUserPage(true, context, { customParameter: hidePresentationToast }); + await undoDrawing.test(); + }); + + test('Redo drawing', async ({ browser, context, page }) => { + const redoDrawing = new RedoDrawing(browser, context); + await redoDrawing.initModPage(page, true, { customMeetingId: 'draw_line_meeting', customParameter: hidePresentationToast }); + await redoDrawing.initUserPage(true, context, { customParameter: hidePresentationToast }); + await redoDrawing.test(); + }); + + test('Change color', async ({ browser, context, page }) => { + const changeColor = new ChangeStyles(browser, context); + await changeColor.initModPage(page, true, { customMeetingId: 'draw_line_meeting', customParameter: hidePresentationToast }); + await changeColor.initUserPage(true, context, { customParameter: hidePresentationToast }); + await changeColor.changingColor(); + }); + + test('Fill drawing', async ({ browser, context, page }) => { + const fillDrawing = new ChangeStyles(browser, context); + await fillDrawing.initModPage(page, true, { customMeetingId: 'draw_line_meeting', customParameter: hidePresentationToast }); + await fillDrawing.initUserPage(true, context, { customParameter: hidePresentationToast }); + await fillDrawing.fillDrawing(); + }); + + test('Dash drawing', async ({ browser, context, page }) => { + const dashDrawing = new ChangeStyles(browser, context); + await dashDrawing.initModPage(page, true, { customMeetingId: 'draw_line_meeting', customParameter: hidePresentationToast }); + await dashDrawing.initUserPage(true, context, { customParameter: hidePresentationToast }); + await dashDrawing.dashDrawing(); + }); + + test('Size drawing', async ({ browser, context, page }) => { + const sizeDrawing = new ChangeStyles(browser, context); + await sizeDrawing.initModPage(page, true, { customMeetingId: 'draw_line_meeting', customParameter: hidePresentationToast }); + await sizeDrawing.initUserPage(true, context, { customParameter: hidePresentationToast }); + await sizeDrawing.sizeDrawing(); + }); + + test('Real time text typing', async ({ browser, context, page }) => { + const realTimeText = new RealTimeText(browser, context); + await realTimeText.initModPage(page, true, { customMeetingId: 'draw_line_meeting', customParameter: hidePresentationToast }); + await realTimeText.initUserPage(true, context, { customParameter: hidePresentationToast }); + await realTimeText.realTimeTextTyping(); + }); }); diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator-undo-drawing-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator-undo-drawing-Chromium-linux.png new file mode 100644 index 0000000000..797fd1bebd Binary files /dev/null and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator-undo-drawing-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-arrow-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-arrow-Chromium-linux.png index c826c70443..7045c39e88 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-arrow-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-arrow-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-change-color-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-change-color-Chromium-linux.png new file mode 100644 index 0000000000..2872f39052 Binary files /dev/null and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-change-color-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-dash-drawing-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-dash-drawing-Chromium-linux.png new file mode 100644 index 0000000000..40ebc4d843 Binary files /dev/null and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-dash-drawing-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-delete-drawing-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-delete-drawing-Chromium-linux.png new file mode 100644 index 0000000000..861c0e7daa Binary files /dev/null and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-delete-drawing-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-ellipse-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-ellipse-Chromium-linux.png index e576dad27e..727507f439 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-ellipse-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-ellipse-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-eraser1-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-eraser1-Chromium-linux.png index 4c64dcf64d..976bb15b18 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-eraser1-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-eraser1-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-eraser2-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-eraser2-Chromium-linux.png index 74f924e7a8..6a4bb601a2 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-eraser2-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-eraser2-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-fill-drawing-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-fill-drawing-Chromium-linux.png new file mode 100644 index 0000000000..ae4c49c60a Binary files /dev/null and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-fill-drawing-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-line-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-line-Chromium-linux.png index 6f33dcb93d..b6a6da0f11 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-line-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-line-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-pan-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-pan-Chromium-linux.png index be59215f55..fe1ca60533 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-pan-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-pan-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-pencil-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-pencil-Chromium-linux.png index 74a1980da3..8741686fea 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-pencil-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-pencil-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-realtime-text-2-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-realtime-text-2-Chromium-linux.png new file mode 100644 index 0000000000..09f7325a3b Binary files /dev/null and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-realtime-text-2-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-realtime-text-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-realtime-text-Chromium-linux.png new file mode 100644 index 0000000000..2c4db48c28 Binary files /dev/null and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-realtime-text-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-rectangle-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-rectangle-Chromium-linux.png index 6e12d1887b..229787de5e 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-rectangle-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-rectangle-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-redo-drawing-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-redo-drawing-Chromium-linux.png new file mode 100644 index 0000000000..f771d96a4a Binary files /dev/null and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-redo-drawing-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-size-drawing-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-size-drawing-Chromium-linux.png new file mode 100644 index 0000000000..27084d1b3d Binary files /dev/null and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-size-drawing-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-sticky-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-sticky-Chromium-linux.png index 6b61b418af..68570b8d15 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-sticky-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-sticky-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-text-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-text-Chromium-linux.png index ee8783e710..c97831d27b 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-text-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-text-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-triangle-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-triangle-Chromium-linux.png index 921f687d63..2574c461d3 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-triangle-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-triangle-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-zoom125-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-zoom125-Chromium-linux.png index 7a4d2621c4..03309c224f 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-zoom125-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-zoom125-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-zoom400-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-zoom400-Chromium-linux.png index 884bc5586c..76e69c3fd7 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-zoom400-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator1-zoom400-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-arrow-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-arrow-Chromium-linux.png index 1dbeb78b91..3d839884e0 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-arrow-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-arrow-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-ellipse-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-ellipse-Chromium-linux.png index d7ac63e96b..56433213cf 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-ellipse-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-ellipse-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-eraser1-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-eraser1-Chromium-linux.png index 4c64dcf64d..976bb15b18 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-eraser1-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-eraser1-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-eraser2-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-eraser2-Chromium-linux.png index e46d945d66..89014f3d7e 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-eraser2-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-eraser2-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-line-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-line-Chromium-linux.png index 3503a53f86..0860f1d1f0 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-line-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-line-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-pan-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-pan-Chromium-linux.png index 5502ead03d..94d54de3bf 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-pan-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-pan-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-pencil-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-pencil-Chromium-linux.png index d102c37860..1e076b0ea2 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-pencil-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-pencil-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-rectangle-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-rectangle-Chromium-linux.png index 44cb7b94a4..eed4d2302f 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-rectangle-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-rectangle-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-sticky-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-sticky-Chromium-linux.png index 23be59ba47..135bcfb929 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-sticky-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-sticky-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-text-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-text-Chromium-linux.png index cc26caec72..d89579ea61 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-text-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-text-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-triangle-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-triangle-Chromium-linux.png index c67b8c9c0c..e304ad939b 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-triangle-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-triangle-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-zoom125-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-zoom125-Chromium-linux.png index 20f8890fb6..ed2f17ec16 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-zoom125-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-zoom125-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-zoom400-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-zoom400-Chromium-linux.png index 7a2e77bebd..3312893ca8 100644 Binary files a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-zoom400-Chromium-linux.png and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/moderator2-zoom400-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-change-color-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-change-color-Chromium-linux.png new file mode 100644 index 0000000000..376fc4442a Binary files /dev/null and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-change-color-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-dash-drawing-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-dash-drawing-Chromium-linux.png new file mode 100644 index 0000000000..4892b2ed9f Binary files /dev/null and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-dash-drawing-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-delete-drawing-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-delete-drawing-Chromium-linux.png new file mode 100644 index 0000000000..aa47643c14 Binary files /dev/null and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-delete-drawing-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-fill-drawing-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-fill-drawing-Chromium-linux.png new file mode 100644 index 0000000000..6c07438238 Binary files /dev/null and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-fill-drawing-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-realtime-text-2-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-realtime-text-2-Chromium-linux.png new file mode 100644 index 0000000000..b76ab99053 Binary files /dev/null and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-realtime-text-2-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-realtime-text-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-realtime-text-Chromium-linux.png new file mode 100644 index 0000000000..7e60479007 Binary files /dev/null and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-realtime-text-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-redo-drawing-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-redo-drawing-Chromium-linux.png new file mode 100644 index 0000000000..ec5fbf17e9 Binary files /dev/null and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-redo-drawing-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-size-drawing-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-size-drawing-Chromium-linux.png new file mode 100644 index 0000000000..c7dcbac0aa Binary files /dev/null and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-size-drawing-Chromium-linux.png differ diff --git a/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-undo-drawing-Chromium-linux.png b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-undo-drawing-Chromium-linux.png new file mode 100644 index 0000000000..d696187606 Binary files /dev/null and b/bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js-snapshots/viewer-undo-drawing-Chromium-linux.png differ