Skip to content

Commit 574f8ef

Browse files
authored
[services/remote] wrap up clearing browser storage with try/catch (#50840) (#51127)
* [services/remote] wrap up clearing storage with try/catch * improve error handling on clearing storage * apply awesome idea * fix exception message
1 parent 9a87259 commit 574f8ef

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

test/functional/services/remote/remote.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,17 @@ export async function RemoteProvider({ getService }: FtrProviderContext) {
2626
const log = getService('log');
2727
const config = getService('config');
2828
const browserType: Browsers = config.get('browser.type');
29+
type BrowserStorage = 'sessionStorage' | 'localStorage';
30+
31+
const clearBrowserStorage = async (storageType: BrowserStorage) => {
32+
try {
33+
await driver.executeScript(`window.${storageType}.clear();`);
34+
} catch (error) {
35+
if (!error.message.includes(`Failed to read the '${storageType}' property from 'Window'`)) {
36+
throw error;
37+
}
38+
}
39+
};
2940

3041
const { driver, By, until, consoleLog$ } = await initWebDriver(
3142
log,
@@ -75,8 +86,8 @@ export async function RemoteProvider({ getService }: FtrProviderContext) {
7586
.manage()
7687
.window()
7788
.setRect({ width, height });
78-
await driver.executeScript('window.sessionStorage.clear();');
79-
await driver.executeScript('window.localStorage.clear();');
89+
await clearBrowserStorage('sessionStorage');
90+
await clearBrowserStorage('localStorage');
8091
});
8192

8293
lifecycle.on('cleanup', async () => await driver.quit());

0 commit comments

Comments
 (0)