index.js
function () {
    var deferred = Q.defer();

    // store desired capabilities of this session
    this.desiredCapabilities = this.browserData.getDesiredCapabilities(this.browserName, this.config);
    this.browserDefaults = this.browserData.driverDefaults;
    this.browserDefaults.status = this.browserData.getStatusDefaults(this.desiredCapabilities);

    // start a browser session
    this._startBrowserSession(deferred, this.desiredCapabilities, this.browserDefaults);

    return deferred.promise;
  }
function () {
    var deferred = Q.defer();

    // store desired capabilities of this session
    this.desiredCapabilities = this.browserData.getDesiredCapabilities(this.browserName, this.config);
    this.browserDefaults = this.browserData.driverDefaults;
    this.browserDefaults.status = this.browserData.getStatusDefaults(this.desiredCapabilities);

    // start a browser session
    this._startBrowserSession(deferred, this.desiredCapabilities, this.browserDefaults);

    return deferred.promise;
  }
function ( ) { var deferred = Q . defer ( ) ; // store desired capabilities of this session this . desiredCapabilities = this . browserData . getDesiredCapabilities ( this . browserName , this . config ) ; this . browserDefaults = this . browserData . driverDefaults ; this . browserDefaults . status = this . browserData . getStatusDefaults ( this . desiredCapabilities ) ; // start a browser session this . _startBrowserSession ( deferred , this . desiredCapabilities , this . browserDefaults ) ; return deferred . promise ; }
Checks if a webdriver session has already been established,
if not, create a new one

@method start
@return {object} promise Driver promise
Checks if a webdriver session has already been established if not create a new one