test: disable flaky macOS panel test & refactor screen capture testing (#41441)
* Disable flaky test * Add helper for storing test artifacts * Refactor screen capture tests We have a pattern for inspecting a screen capture, so this refactor codifies that pattern into a helper. This gives us shorter test code, consistency (previously, the display in test code and the display captured could theoretically be different), and better debugging/observability on failure.
This commit is contained in:
parent
267c0796dd
commit
a6133e85d1
8 changed files with 215 additions and 141 deletions
|
@ -3,7 +3,7 @@ import * as path from 'node:path';
|
|||
import { BrowserView, BrowserWindow, screen, webContents } from 'electron/main';
|
||||
import { closeWindow } from './lib/window-helpers';
|
||||
import { defer, ifit, startRemoteControlApp } from './lib/spec-helpers';
|
||||
import { areColorsSimilar, captureScreen, getPixelColor } from './lib/screen-helpers';
|
||||
import { ScreenCapture } from './lib/screen-helpers';
|
||||
import { once } from 'node:events';
|
||||
|
||||
describe('BrowserView module', () => {
|
||||
|
@ -88,13 +88,8 @@ describe('BrowserView module', () => {
|
|||
w.setBrowserView(view);
|
||||
await view.webContents.loadURL('data:text/html,hello there');
|
||||
|
||||
const screenCapture = await captureScreen();
|
||||
const centerColor = getPixelColor(screenCapture, {
|
||||
x: display.size.width / 2,
|
||||
y: display.size.height / 2
|
||||
});
|
||||
|
||||
expect(areColorsSimilar(centerColor, WINDOW_BACKGROUND_COLOR)).to.be.true();
|
||||
const screenCapture = await ScreenCapture.createForDisplay(display);
|
||||
await screenCapture.expectColorAtCenterMatches(WINDOW_BACKGROUND_COLOR);
|
||||
});
|
||||
|
||||
// Linux and arm64 platforms (WOA and macOS) do not return any capture sources
|
||||
|
@ -114,13 +109,8 @@ describe('BrowserView module', () => {
|
|||
w.setBackgroundColor(VIEW_BACKGROUND_COLOR);
|
||||
await view.webContents.loadURL('data:text/html,hello there');
|
||||
|
||||
const screenCapture = await captureScreen();
|
||||
const centerColor = getPixelColor(screenCapture, {
|
||||
x: display.size.width / 2,
|
||||
y: display.size.height / 2
|
||||
});
|
||||
|
||||
expect(areColorsSimilar(centerColor, VIEW_BACKGROUND_COLOR)).to.be.true();
|
||||
const screenCapture = await ScreenCapture.createForDisplay(display);
|
||||
await screenCapture.expectColorAtCenterMatches(VIEW_BACKGROUND_COLOR);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue