From 76f4e8f29bb8f69dae234016de2fcdb887553c4c Mon Sep 17 00:00:00 2001 From: VinayKumar VVS Date: Tue, 17 Oct 2023 20:47:44 +0530 Subject: [PATCH] WIP - Integrating Mocha Parallel --- puppeteer-mocha/package.json | 9 +++--- puppeteer-mocha/specs/google.spec.js | 42 +------------------------ puppeteer-mocha/specs/hooks.js | 47 ++++++++++++++++++++++++++++ puppeteer-mocha/specs/lt.spec.js | 42 +------------------------ 4 files changed, 54 insertions(+), 86 deletions(-) create mode 100644 puppeteer-mocha/specs/hooks.js diff --git a/puppeteer-mocha/package.json b/puppeteer-mocha/package.json index f005472..b66e49f 100644 --- a/puppeteer-mocha/package.json +++ b/puppeteer-mocha/package.json @@ -3,14 +3,15 @@ "version": "1.0.0", "main": "index.js", "scripts": { - "test": "node ./node_modules/mocha/bin/mocha --timeout=30000 ./specs" + "test": "node ./node_modules/mocha/bin/mocha --timeout=30000 ./specs", + "test-parallel" : "mocha ./specs --parallel --timeout 60000" }, "author": "Sarath Sasikumar", "license": "ISC", "description": "", - "dependencies": { + "devDependencies": { "chai": "^4.3.6", - "mocha": "^10.0.0", - "puppeteer": "^15.5.0" + "mocha": "^10.2.0", + "puppeteer": "21.3.8" } } diff --git a/puppeteer-mocha/specs/google.spec.js b/puppeteer-mocha/specs/google.spec.js index e4f6ce0..47d02b7 100644 --- a/puppeteer-mocha/specs/google.spec.js +++ b/puppeteer-mocha/specs/google.spec.js @@ -1,43 +1,7 @@ -const puppeteer = require('puppeteer'); +const page = require('./hooks').page; const expect = require('chai').expect; -const caps_chrome = { - browserName : 'Chrome', - browserVersion : 'latest', - 'LT:Options' : { - platform : 'Windows 10', - build : 'Sample Puppeteer-Mocha', - name : 'Puppeteer-mocha test on Chrome', - resolution : '1366x768', - user : process.env.LT_USERNAME, - accessKey : process.env.LT_USER_KEY, - network : true - } -}; -const caps_edge = { - browserName : 'MicrosoftEdge', - browserVersion : 'latest', - 'LT:Options' : { - platform : 'Windows 10', - build : 'Sample Puppeteer-Mocha', - name : 'Puppeteer-mocha test on Edge', - resolution : '1366x768', - user : process.env.LT_USERNAME, - accessKey : process.env.LT_USER_KEY, - network : true - } -}; -let browser = null; -let page = null; describe('Search Text', () => { - beforeEach(async () => { - browser = await puppeteer.connect({ - browserWSEndpoint : `wss://cdp.lambdatest.com/puppeteer?capabilities=${encodeURIComponent( - JSON.stringify(caps_chrome) - )}` - }); - page = await browser.newPage(); - }); it('should be titled "Google"', async () => { let text = 'Google'; @@ -70,8 +34,4 @@ describe('Search Text', () => { } }); - afterEach(async () => { - await page.close(); - await browser.close(); - }); }); diff --git a/puppeteer-mocha/specs/hooks.js b/puppeteer-mocha/specs/hooks.js new file mode 100644 index 0000000..872248c --- /dev/null +++ b/puppeteer-mocha/specs/hooks.js @@ -0,0 +1,47 @@ +const puppeteer = require('puppeteer'); + +let caps_chrome = { + browserName : 'Chrome', + browserVersion : 'latest', + 'LT:Options' : { + platform : 'Windows 10', + build : 'Sample Puppeteer-Mocha', + name : 'Puppeteer-mocha test on Chrome', + resolution : '1366x768', + user : process.env.LT_USERNAME, + accessKey : process.env.LT_ACCESS_KEY, + network : true + } +}; +let caps_edge = { + browserName : 'MicrosoftEdge', + browserVersion : 'latest', + 'LT:Options' : { + platform : 'Windows 10', + build : 'Sample Puppeteer-Mocha', + name : 'Puppeteer-mocha test on Edge', + resolution : '1366x768', + user : process.env.LT_USERNAME, + accessKey : process.env.LT_ACCESS_KEY, + network : true + } +}; + +let browser = null +let page = null + +beforeEach(async () => { + browser = await puppeteer.connect({ + browserWSEndpoint : `wss://cdp.lambdatest.com/puppeteer?capabilities=${encodeURIComponent( + JSON.stringify(caps_chrome) + )}` + }); + page = await browser.newPage(); +}); + +afterEach(async () => { + await page.close(); + await browser.close(); +}); + +module.exports = { page } \ No newline at end of file diff --git a/puppeteer-mocha/specs/lt.spec.js b/puppeteer-mocha/specs/lt.spec.js index 307c571..5d44933 100644 --- a/puppeteer-mocha/specs/lt.spec.js +++ b/puppeteer-mocha/specs/lt.spec.js @@ -1,43 +1,7 @@ -const puppeteer = require('puppeteer'); +const page = require('./hooks').page; const expect = require('chai').expect; -const caps_chrome = { - browserName : 'Chrome', - browserVersion : 'latest', - 'LT:Options' : { - platform : 'Windows 10', - build : 'Sample Puppeteer-Mocha', - name : 'Puppeteer-mocha test on Chrome', - resolution : '1366x768', - user : process.env.LT_USERNAME, - accessKey : process.env.LT_USER_KEY, - network : true - } -}; -const caps_edge = { - browserName : 'MicrosoftEdge', - browserVersion : 'latest', - 'LT:Options' : { - platform : 'Windows 10', - build : 'Sample Puppeteer-Mocha', - name : 'Puppeteer-mocha test on Edge', - resolution : '1366x768', - user : process.env.LT_USERNAME, - accessKey : process.env.LT_USER_KEY, - network : true - } -}; -let browser = null; -let page = null; describe('Search Text', () => { - beforeEach(async () => { - browser = await puppeteer.connect({ - browserWSEndpoint : `wss://cdp.lambdatest.com/puppeteer?capabilities=${encodeURIComponent( - JSON.stringify(caps_chrome) - )}` - }); - page = await browser.newPage(); - }); it('should be titled "Lambdatest"', async () => { let text = 'LambdaTest'; @@ -70,8 +34,4 @@ describe('Search Text', () => { } }); - afterEach(async () => { - await page.close(); - await browser.close(); - }); });