From 87d74601838ba165a633da46e47a490d1790f35c Mon Sep 17 00:00:00 2001 From: Philipp Kunz Date: Tue, 17 Aug 2021 15:22:10 +0200 Subject: [PATCH] fix(core): update --- package-lock.json | 7 +++---- package.json | 3 ++- test/test.ts | 8 ++++++++ ts/smartpuppeteer.classes.incognitobrowser.ts | 1 + ts/smartpuppeteer.plugins.ts | 3 ++- 5 files changed, 16 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 75a30fd..9ffd402 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,8 @@ "dependencies": { "@pushrocks/smartdelay": "^2.0.13", "@pushrocks/smartenv": "^4.0.16", - "puppeteer": "^10.2.0" + "puppeteer": "^10.2.0", + "tree-kill": "^1.2.2" }, "devDependencies": { "@gitzone/tsbuild": "^2.1.26", @@ -13680,7 +13681,6 @@ "version": "1.2.2", "resolved": "https://verdaccio.lossless.one/tree-kill/-/tree-kill-1.2.2.tgz", "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true, "license": "MIT", "bin": { "tree-kill": "cli.js" @@ -24975,8 +24975,7 @@ "tree-kill": { "version": "1.2.2", "resolved": "https://verdaccio.lossless.one/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==" }, "trim-right": { "version": "1.0.1", diff --git a/package.json b/package.json index 1c084c0..3913695 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,8 @@ "dependencies": { "@pushrocks/smartdelay": "^2.0.13", "@pushrocks/smartenv": "^4.0.16", - "puppeteer": "^10.2.0" + "puppeteer": "^10.2.0", + "tree-kill": "^1.2.2" }, "files": [ "ts/**/*", diff --git a/test/test.ts b/test/test.ts index 24dbf2e..2048049 100644 --- a/test/test.ts +++ b/test/test.ts @@ -5,7 +5,15 @@ tap.test('first test', async (tools) => { const headlessBrowser = await smartpuppeteer.getEnvAwareBrowserInstance({ forceNoSandbox: true, }); + const page = await headlessBrowser.newPage(); await headlessBrowser.close(); }); +tap.test('should get and stop an Incognito browser', async () => { + const incognitoInstance = new smartpuppeteer.IncognitoBrowser(); + await incognitoInstance.start(); + const page = await incognitoInstance.browser.newPage(); + await incognitoInstance.stop(); +}) + tap.start(); diff --git a/ts/smartpuppeteer.classes.incognitobrowser.ts b/ts/smartpuppeteer.classes.incognitobrowser.ts index b25dac0..9fa093c 100644 --- a/ts/smartpuppeteer.classes.incognitobrowser.ts +++ b/ts/smartpuppeteer.classes.incognitobrowser.ts @@ -28,6 +28,7 @@ export class IncognitoBrowser { */ public async stop() { this.status = 'stopped'; + plugins.treeKill(this.browser.process().pid); await this.browser.close(); } diff --git a/ts/smartpuppeteer.plugins.ts b/ts/smartpuppeteer.plugins.ts index 9cdc02a..a4c25fb 100644 --- a/ts/smartpuppeteer.plugins.ts +++ b/ts/smartpuppeteer.plugins.ts @@ -11,5 +11,6 @@ export { smartdelay, smartenv }; // third party scope import puppeteer from 'puppeteer'; +import treeKill from 'tree-kill'; -export { puppeteer }; +export { puppeteer, treeKill };