rsnext/test/jest-global-setup.js
JJ Kasper 533018f7d0 Update tests for BrowserStack (#6810)
Update tests to setup webdriver stuff in `jest-environment` and re-use one browser session instead of spawning one for each webdriver call to prevent creating too many BrowserStack sessions.
2019-03-29 16:05:53 +01:00

36 lines
934 B
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
}
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()