diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..40b878d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules/ \ No newline at end of file diff --git a/index.js b/index.js index e95f2b6..9dbe4d3 100644 --- a/index.js +++ b/index.js @@ -50,6 +50,12 @@ class PlaywrightEngine { context.setDefaultNavigationTimeout(self.defaultNavigationTimeout); context.setDefaultTimeout(self.defaultTimeout); + + if(self.contextOptions.tracesDir) { + debug('trace started') + await context.tracing.start({ screenshots: true, snapshots: true }); + } + debug('context created'); const uniquePageLoadToTiming = {}; @@ -138,6 +144,10 @@ class PlaywrightEngine { const fn = self.processor[spec.flowFunction]; await fn(page, initialContext, events); + if(self.contextOptions.tracesDir) { + debug('trace stopped') + await context.tracing.stop({ path: `${self.contextOptions.tracesDir}/trace-${Date.now().toString()}.zip` }); + } await page.close(); if(cb) { cb(null, initialContext); } diff --git a/package-lock.json b/package-lock.json index 595ed6a..c083bc6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,26 +10,29 @@ "license": "MPL-2.0", "dependencies": { "debug": "^4.3.2", - "playwright": "^1.27.1" + "playwright": "^1.32.3" }, "devDependencies": { - "@playwright/test": "1.27.1" + "@playwright/test": "^1.32.3" } }, "node_modules/@playwright/test": { - "version": "1.27.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.27.1.tgz", - "integrity": "sha512-mrL2q0an/7tVqniQQF6RBL2saskjljXzqNcCOVMUjRIgE6Y38nCNaP+Dc2FBW06bcpD3tqIws/HT9qiMHbNU0A==", + "version": "1.32.3", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.32.3.tgz", + "integrity": "sha512-BvWNvK0RfBriindxhLVabi8BRe3X0J9EVjKlcmhxjg4giWBD/xleLcg2dz7Tx0agu28rczjNIPQWznwzDwVsZQ==", "dev": true, "dependencies": { "@types/node": "*", - "playwright-core": "1.27.1" + "playwright-core": "1.32.3" }, "bin": { "playwright": "cli.js" }, "engines": { "node": ">=14" + }, + "optionalDependencies": { + "fsevents": "2.3.2" } }, "node_modules/@types/node": { @@ -54,18 +57,32 @@ } } }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/playwright": { - "version": "1.27.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.27.1.tgz", - "integrity": "sha512-xXYZ7m36yTtC+oFgqH0eTgullGztKSRMb4yuwLPl8IYSmgBM88QiB+3IWb1mRIC9/NNwcgbG0RwtFlg+EAFQHQ==", + "version": "1.32.3", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.32.3.tgz", + "integrity": "sha512-h/ylpgoj6l/EjkfUDyx8cdOlfzC96itPpPe8BXacFkqpw/YsuxkpPyVbzEq4jw+bAJh5FLgh31Ljg2cR6HV3uw==", "hasInstallScript": true, "dependencies": { - "playwright-core": "1.27.1" + "playwright-core": "1.32.3" }, "bin": { "playwright": "cli.js" @@ -75,9 +92,9 @@ } }, "node_modules/playwright-core": { - "version": "1.27.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.27.1.tgz", - "integrity": "sha512-9EmeXDncC2Pmp/z+teoVYlvmPWUC6ejSSYZUln7YaP89Z6lpAaiaAnqroUt/BoLo8tn7WYShcfaCh+xofZa44Q==", + "version": "1.32.3", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.32.3.tgz", + "integrity": "sha512-SB+cdrnu74ZIn5Ogh/8278ngEh9NEEV0vR4sJFmK04h2iZpybfbqBY0bX6+BLYWVdV12JLLI+JEFtSnYgR+mWg==", "bin": { "playwright": "cli.js" }, @@ -88,13 +105,14 @@ }, "dependencies": { "@playwright/test": { - "version": "1.27.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.27.1.tgz", - "integrity": "sha512-mrL2q0an/7tVqniQQF6RBL2saskjljXzqNcCOVMUjRIgE6Y38nCNaP+Dc2FBW06bcpD3tqIws/HT9qiMHbNU0A==", + "version": "1.32.3", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.32.3.tgz", + "integrity": "sha512-BvWNvK0RfBriindxhLVabi8BRe3X0J9EVjKlcmhxjg4giWBD/xleLcg2dz7Tx0agu28rczjNIPQWznwzDwVsZQ==", "dev": true, "requires": { "@types/node": "*", - "playwright-core": "1.27.1" + "fsevents": "2.3.2", + "playwright-core": "1.32.3" } }, "@types/node": { @@ -111,23 +129,30 @@ "ms": "2.1.2" } }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "playwright": { - "version": "1.27.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.27.1.tgz", - "integrity": "sha512-xXYZ7m36yTtC+oFgqH0eTgullGztKSRMb4yuwLPl8IYSmgBM88QiB+3IWb1mRIC9/NNwcgbG0RwtFlg+EAFQHQ==", + "version": "1.32.3", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.32.3.tgz", + "integrity": "sha512-h/ylpgoj6l/EjkfUDyx8cdOlfzC96itPpPe8BXacFkqpw/YsuxkpPyVbzEq4jw+bAJh5FLgh31Ljg2cR6HV3uw==", "requires": { - "playwright-core": "1.27.1" + "playwright-core": "1.32.3" } }, "playwright-core": { - "version": "1.27.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.27.1.tgz", - "integrity": "sha512-9EmeXDncC2Pmp/z+teoVYlvmPWUC6ejSSYZUln7YaP89Z6lpAaiaAnqroUt/BoLo8tn7WYShcfaCh+xofZa44Q==" + "version": "1.32.3", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.32.3.tgz", + "integrity": "sha512-SB+cdrnu74ZIn5Ogh/8278ngEh9NEEV0vR4sJFmK04h2iZpybfbqBY0bX6+BLYWVdV12JLLI+JEFtSnYgR+mWg==" } } } diff --git a/package.json b/package.json index a10c4b1..9299bae 100644 --- a/package.json +++ b/package.json @@ -11,9 +11,9 @@ "license": "MPL-2.0", "dependencies": { "debug": "^4.3.2", - "playwright": "^1.27.1" + "playwright": "^1.32.3" }, "devDependencies": { - "@playwright/test": "1.27.1" + "@playwright/test": "^1.32.3" } }