533018f7d0
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.
36 lines
934 B
JavaScript
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()
|