From a266eb83bf6829acfcbaacf19a5320bf33cb89fb Mon Sep 17 00:00:00 2001 From: David Calhoun Date: Thu, 12 Oct 2023 13:48:41 -0400 Subject: [PATCH 01/11] test: Replace `sleep` with `pause` utility Update syntax for WebdriverIO, which is a part of the Appium 2 upgrade. --- .../gutenberg-editor-unsupported-block-visual.test.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/__device-tests__/gutenberg-editor-unsupported-block-visual.test.js b/__device-tests__/gutenberg-editor-unsupported-block-visual.test.js index c035e7797a..c7a4fa51eb 100644 --- a/__device-tests__/gutenberg-editor-unsupported-block-visual.test.js +++ b/__device-tests__/gutenberg-editor-unsupported-block-visual.test.js @@ -15,7 +15,7 @@ describe( 'Gutenberg Editor Visual test for Unsupported Block', () => { ); await unsupportedBlock.click(); // Wait for the block to be selected - await editorPage.driver.sleep( 500 ); + await editorPage.driver.pause( 500 ); // Visual test check let screenshot = await takeScreenshot(); @@ -75,7 +75,7 @@ describe( 'Gutenberg Editor Visual test for Unsupported Block', () => { await helpButton.click(); // Wait for the modal to show - await editorPage.driver.sleep( 3000 ); + await editorPage.driver.pause( 3000 ); // Visual test check const screenshot = await takeScreenshot(); From 58be5436bffa8ceddfb9a9c8296318a92785e8a0 Mon Sep 17 00:00:00 2001 From: David Calhoun Date: Thu, 12 Oct 2023 13:49:09 -0400 Subject: [PATCH 02/11] test: Set static device pixel ratio WebdriverIO (the replacement for the deprecated WD driver library) does not have a method for retrieving a device's pixel ratio. Therefore, this sets an explicit value for each of our test devices. --- __device-tests__/utils.js | 6 ++---- gutenberg | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/__device-tests__/utils.js b/__device-tests__/utils.js index cfd9f3cf01..883e21f6a8 100644 --- a/__device-tests__/utils.js +++ b/__device-tests__/utils.js @@ -40,8 +40,7 @@ const SUPPORTED_GLOBAL_STYLES_ELEMENTS = [ * @return {Buffer} Sreenshot image. */ export async function takeScreenshotByElement( element, { padding } = {} ) { - const sessionCapabilities = await editorPage.driver.sessionCapabilities(); - const { pixelRatio } = sessionCapabilities; + const pixelRatio = editorPage.driver.capabilities.devicePixelRatio; const location = await element.getLocation(); const size = await element.getSize(); @@ -110,8 +109,7 @@ export async function takeScreenshotByElement( element, { padding } = {} ) { */ export async function takeScreenshot( { withoutKeyboard, crop } = {} ) { const iPadDevice = process.env.IPAD; - const sessionCapabilities = await editorPage.driver.sessionCapabilities(); - const { pixelRatio } = sessionCapabilities; + const pixelRatio = editorPage.driver.capabilities.devicePixelRatio; const orientation = await editorPage.driver.getOrientation(); const isPortrait = orientation === 'PORTRAIT'; diff --git a/gutenberg b/gutenberg index 12f876ac85..8639bc3218 160000 --- a/gutenberg +++ b/gutenberg @@ -1 +1 @@ -Subproject commit 12f876ac8585b9c873ad538c740d3c9461f289e7 +Subproject commit 8639bc321800655c39d09759200e8d79aa873d31 From 2c54ba2666b15688fec5c3e878b0af1d0313792b Mon Sep 17 00:00:00 2001 From: David Calhoun Date: Thu, 12 Oct 2023 16:40:45 -0400 Subject: [PATCH 03/11] test: Await Unsupported Block selection There appears to be a small delay before the selection border displays. --- .../gutenberg-editor-unsupported-block-visual.test.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/__device-tests__/gutenberg-editor-unsupported-block-visual.test.js b/__device-tests__/gutenberg-editor-unsupported-block-visual.test.js index c7a4fa51eb..ad901374d1 100644 --- a/__device-tests__/gutenberg-editor-unsupported-block-visual.test.js +++ b/__device-tests__/gutenberg-editor-unsupported-block-visual.test.js @@ -43,6 +43,8 @@ describe( 'Gutenberg Editor Visual test for Unsupported Block', () => { editorPage.blockNames.unsupported ); await unsupportedBlock.click(); + // Wait for the block to be selected + await editorPage.driver.pause( 1000 ); // Visual test check let screenshot = await takeScreenshot(); From 079b7d63ca25b8a19e8dcd88b380d33779b76af3 Mon Sep 17 00:00:00 2001 From: David Calhoun Date: Thu, 12 Oct 2023 16:41:53 -0400 Subject: [PATCH 04/11] test: Update Unsupported Block visual snapshot It is unclear why this image needs updating. Its sibling iOS image was updated in: https://github.com/wordpress-mobile/gutenberg-mobile/pull/6154/commits/4346add588e9129e0ccf0c2eb0e6e657ecd8a559 --- ...ported-block-web-view-editor-1-android.png | Bin 29903 -> 30069 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/__device-tests__/image-snapshots/gutenberg-editor-unsupported-block-visual-test-js-gutenberg-editor-visual-test-for-unsupported-block-should-be-able-to-open-the-unsupported-block-web-view-editor-1-android.png b/__device-tests__/image-snapshots/gutenberg-editor-unsupported-block-visual-test-js-gutenberg-editor-visual-test-for-unsupported-block-should-be-able-to-open-the-unsupported-block-web-view-editor-1-android.png index c5fd03ce2934fcbb103c265f241d703cfe461026..af6072a977a2cae78d97509ca6659e15a7115443 100644 GIT binary patch literal 30069 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