neft
Version:
Universal Platform
43 lines (33 loc) • 991 B
text/coffeescript
wd = require 'wd'
{utils, log} = Neft
log = log.scope 'selenium'
SAUCE_HOST = 'ondemand.saucelabs.com'
SAUCE_PORT = 80
{SAUCE_USERNAME, SAUCE_ACCESS_KEY} = process.env
class Driver
constructor: () ->
= new utils.async.Stack
run: (func, args, onResult = utils.NOP) ->
.add [func], , args
.add (result, callback) ->
try
onResult result
catch err
return callback err
callback null
wait: (delay) ->
.add (callback) ->
setTimeout callback, delay
fulfil: (callback) ->
log 'run commands'
.runAll (err) =>
log 'set sauce job status'
.sauceJobStatus not err, =>
.quit()
callback err
exports.getDriver = ->
new Driver wd.remote(
SAUCE_HOST, SAUCE_PORT,
SAUCE_USERNAME, SAUCE_ACCESS_KEY
)