added integration test bulletproofing to workaround a playwright issue with Electron 14 on windows

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
This commit is contained in:
Jim Ehrismann committed 2022-01-26 15:24:28 -05:00
1 parent 5387b200e6
commit f89ffb66bc
1 file changed
+14 -1
+14 -1
View File
@@ -40,7 +40,7 @@ async function getMainWindow(app: ElectronApplication, timeout = 50_000): Promis
throw new Error(`Lens did not open the main window within ${timeout}ms`); throw new Error(`Lens did not open the main window within ${timeout}ms`);
} }
export async function start() { async function attemptStart() {
const CICD = path.join(os.tmpdir(), "lens-integration-testing", uuid.v4()); const CICD = path.join(os.tmpdir(), "lens-integration-testing", uuid.v4());
// Make sure that the directory is clear // Make sure that the directory is clear
@@ -76,6 +76,19 @@ export async function start() {
} }
} }
export async function start() {
// this is an attempted workaround for an issue with playwright not always getting the main window when using Electron 14.2.4 (observed on windows)
for (let i = 0; ; i++) {
try {
return await attemptStart();
} catch (error) {
if (i === 4) {
throw error;
}
}
}
}
export async function clickWelcomeButton(window: Page) { export async function clickWelcomeButton(window: Page) {
await window.click("[data-testid=welcome-menu-container] li a"); await window.click("[data-testid=welcome-menu-container] li a");
} }