rsnext/test/jest-global-setup.js
Nimit Aggarwal 182ab2ebf8 Browserstack optimisations (#7201)
* add local identifier to suppoort parallel runs BrowserStack

Signed-off-by: Nimit <nimitagg95@gmail.com>

* calling driver quit to stop test and then killing binary

Signed-off-by: Nimit <nimitagg95@gmail.com>

* run lint-fix

* standard fixes

Signed-off-by: Nimit <nimitagg95@gmail.com>
2019-04-30 15:22:38 -05:00

37 lines
1 KiB
JavaScript

'use strict'
let globalSetup
if (process.env.BROWSERSTACK) {
const { Local } = require('browserstack-local')
const browserStackLocal = new Local()
const localBrowserStackOpts = {
key: process.env.BROWSERSTACK_ACCESS_KEY,
localIdentifier: new Date().getTime() // Adding a unique local identifier to run parallel tests on BrowserStack
}
global.browserStackLocal = browserStackLocal
globalSetup = () => {
return new Promise((resolve, reject) => {
browserStackLocal.start(localBrowserStackOpts, err => {
if (err) return reject(err)
console.log('Started BrowserStackLocal', browserStackLocal.isRunning())
resolve()
})
})
}
} else {
const chromedriver = require('chromedriver')
const waitPort = require('wait-port')
globalSetup = async function globalSetup () {
chromedriver.start()
// https://github.com/giggio/node-chromedriver/issues/117
await waitPort({
port: 9515,
timeout: 1000 * 60 * 2 // 2 Minutes
})
}
}
module.exports = () => globalSetup()