derby-webdriverio
Version:
Webdriver.io for Derby.js
69 lines (57 loc) • 1.9 kB
text/coffeescript
webdriverDefaultConf = require './webdriver.default'
defaults = require 'lodash/defaults'
defaultsDeep = require 'lodash/defaultsDeep'
module.exports = (customConfig) ->
{ TRAVIS, SS_HOST, SS_PORT, SS_PATH } = process.env
config = defaults {}, customConfig, webdriverDefaultConf,
specs: [
'./test/e2e/**/*.js'
'./test/e2e/**/*.coffee'
]
exclude: [
'./test/e2e/**/_*.js'
'./test/e2e/**/_*.coffee'
]
# capabilities should always be {}
# Use 'browsers' and 'desiredCapabilities' instead
capabilities: {}
config.server ?= {}
defaultsDeep config.server,
startCommand: 'npm start'
env:
MONGO_URL: 'mongodb://localhost:27017/test'
PORT: config.baseUrl.match(/:(\d+)/)?[1] || 80
waitServer:
timeout: 10 * 1000
interval: 800
print: true
req: config.baseUrl
# Check if coffee-script is being used in the main project
hasCoffee = true
try
require.resolve 'coffee-script'
catch e
hasCoffee = false
# Default tester settings
defaults config,
framework: 'mocha'
reporter: 'spec'
mochaOpts:
ui: 'bdd'
compilers: ['coffee:coffee-script/register'] if hasCoffee
timeout: config.waitforTimeout
bail: true
# Special settings for Chrome builds on Travis
if TRAVIS
config.desiredCapabilities.chromeOptions ?= {}
config.desiredCapabilities.chromeOptions.args ?= ['no-sandbox']
config.desiredCapabilities.chromeOptions.binary ?= '/usr/bin/chromium-browser'
config.desiredCapabilities.firefox_binary = '/usr/local/bin/firefox'
config.host = SS_HOST if SS_HOST
config.port = SS_PORT if SS_PORT
config.path = SS_PATH if SS_PATH
# Add custom commands and init browsers
config.before = require('./lib/before')(config, config.before)
# Destroy browsers
config.after = require('./lib/after')(config, config.after)
config