Skip to content

Commit e309cab

Browse files
committed
Close the browser only when the user manages to close it manually and not when the test runner completes its execution
1 parent b8d5082 commit e309cab

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

packages/service/src/launcher.ts

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import { remote } from 'webdriverio'
22
import { start } from '@wdio/devtools-backend'
3-
3+
import logger from '@wdio/logger'
44
import { DEFAULT_LAUNCH_CAPS } from './constants.ts'
55
import type { ServiceOptions, ExtendedCapabilities } from './types.js'
66

7+
const log = logger('@wdio/devtools-service:Launcher')
78
export class DevToolsAppLauncher {
89
#options: ServiceOptions
910
#browser?: WebdriverIO.Browser
@@ -42,7 +43,23 @@ export class DevToolsAppLauncher {
4243
}
4344

4445
async onComplete () {
45-
await this.#browser?.deleteSession()
46+
if (this.#browser) {
47+
log.info('Please close the browser window to finish...');
48+
while (true) {
49+
try {
50+
await this.#browser.getTitle();
51+
await new Promise(res => setTimeout(res, 1000));
52+
} catch (e) {
53+
log.info('Browser window closed, stopping DevTools app');
54+
break;
55+
}
56+
}
57+
try {
58+
await this.#browser.deleteSession();
59+
} catch (err: any) {
60+
log.warn('Session already closed or could not be deleted:', err.message);
61+
}
62+
}
4663
}
4764

4865
#updateCapabilities (caps: ExtendedCapabilities[], devtoolsApp: { port: number }) {

0 commit comments

Comments
 (0)