code: function exposeNativeAsPromise(Browser, command, exposed) {
      if (_.isNumber(exposed)) {
          exposed = command;
      }
  
      Browser.prototype[exposed] = function () {
          var args = arguments;
          ensureDriverCommand.call(this, command, 'exposeNativeAsPromise');
  
          this.then(function (next) {
              args = wrapArguments.call(this, args, chainAndErrorCallback, next);
              this._driver[command].apply(this._driver, args);
          });
  
          return this;
      };
  }
docs: assume the command is exposed on browser and handles error as exception.