appium-xcuitest-driver-conan
Version:
Appium driver for iOS using XCUITest for backend
230 lines (192 loc) • 12.7 kB
JavaScript
;
var _Object$assign = require('babel-runtime/core-js/object/assign')['default'];
var _regeneratorRuntime = require('babel-runtime/regenerator')['default'];
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
Object.defineProperty(exports, '__esModule', {
value: true
});
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
var _appiumIosDriver = require('appium-ios-driver');
var _appiumBaseDriver = require('appium-base-driver');
var extensions = {};
_Object$assign(extensions, _appiumIosDriver.iosCommands.execute);
var iosExecute = extensions.execute;
extensions.execute = function callee$0$0(script, args) {
return _regeneratorRuntime.async(function callee$0$0$(context$1$0) {
while (1) switch (context$1$0.prev = context$1$0.next) {
case 0:
if (!(!script.match(/^mobile\:/) && !this.isWebContext())) {
context$1$0.next = 2;
break;
}
throw new _appiumBaseDriver.errors.NotImplementedError();
case 2:
context$1$0.next = 4;
return _regeneratorRuntime.awrap(iosExecute.call(this, script, args));
case 4:
return context$1$0.abrupt('return', context$1$0.sent);
case 5:
case 'end':
return context$1$0.stop();
}
}, null, this);
};
var iosExecuteAsync = extensions.executeAsync;
extensions.executeAsync = function callee$0$0(script, args, sessionId) {
return _regeneratorRuntime.async(function callee$0$0$(context$1$0) {
while (1) switch (context$1$0.prev = context$1$0.next) {
case 0:
if (this.isWebContext()) {
context$1$0.next = 2;
break;
}
throw new _appiumBaseDriver.errors.NotImplementedError();
case 2:
context$1$0.next = 4;
return _regeneratorRuntime.awrap(iosExecuteAsync.call(this, script, args, sessionId));
case 4:
return context$1$0.abrupt('return', context$1$0.sent);
case 5:
case 'end':
return context$1$0.stop();
}
}, null, this);
};
// Overrides the 'executeMobile' function defined in appium-ios-driver
extensions.executeMobile = function callee$0$0(mobileCommand) {
var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
var mobileCommandsMapping;
return _regeneratorRuntime.async(function callee$0$0$(context$1$0) {
var _this = this;
while (1) switch (context$1$0.prev = context$1$0.next) {
case 0:
mobileCommandsMapping = {
scroll: function scroll(x) {
return _regeneratorRuntime.async(function scroll$(context$2$0) {
while (1) switch (context$2$0.prev = context$2$0.next) {
case 0:
context$2$0.next = 2;
return _regeneratorRuntime.awrap(this.mobileScroll(x));
case 2:
case 'end':
return context$2$0.stop();
}
}, null, _this);
},
swipe: function swipe(x) {
return _regeneratorRuntime.async(function swipe$(context$2$0) {
while (1) switch (context$2$0.prev = context$2$0.next) {
case 0:
context$2$0.next = 2;
return _regeneratorRuntime.awrap(this.mobileScroll(x, true));
case 2:
case 'end':
return context$2$0.stop();
}
}, null, _this);
},
pinch: function pinch(x) {
return _regeneratorRuntime.async(function pinch$(context$2$0) {
while (1) switch (context$2$0.prev = context$2$0.next) {
case 0:
context$2$0.next = 2;
return _regeneratorRuntime.awrap(this.mobilePinch(x));
case 2:
case 'end':
return context$2$0.stop();
}
}, null, _this);
},
doubleTap: function doubleTap(x) {
return _regeneratorRuntime.async(function doubleTap$(context$2$0) {
while (1) switch (context$2$0.prev = context$2$0.next) {
case 0:
context$2$0.next = 2;
return _regeneratorRuntime.awrap(this.mobileDoubleTap(x));
case 2:
case 'end':
return context$2$0.stop();
}
}, null, _this);
},
twoFingerTap: function twoFingerTap(x) {
return _regeneratorRuntime.async(function twoFingerTap$(context$2$0) {
while (1) switch (context$2$0.prev = context$2$0.next) {
case 0:
context$2$0.next = 2;
return _regeneratorRuntime.awrap(this.mobileTwoFingerTap(x));
case 2:
case 'end':
return context$2$0.stop();
}
}, null, _this);
},
touchAndHold: function touchAndHold(x) {
return _regeneratorRuntime.async(function touchAndHold$(context$2$0) {
while (1) switch (context$2$0.prev = context$2$0.next) {
case 0:
context$2$0.next = 2;
return _regeneratorRuntime.awrap(this.mobileTouchAndHold(x));
case 2:
case 'end':
return context$2$0.stop();
}
}, null, _this);
},
tap: function tap(x) {
return _regeneratorRuntime.async(function tap$(context$2$0) {
while (1) switch (context$2$0.prev = context$2$0.next) {
case 0:
context$2$0.next = 2;
return _regeneratorRuntime.awrap(this.mobileTap(x));
case 2:
case 'end':
return context$2$0.stop();
}
}, null, _this);
},
dragFromToForDuration: function dragFromToForDuration(x) {
return _regeneratorRuntime.async(function dragFromToForDuration$(context$2$0) {
while (1) switch (context$2$0.prev = context$2$0.next) {
case 0:
context$2$0.next = 2;
return _regeneratorRuntime.awrap(this.mobileDragFromToForDuration(x));
case 2:
case 'end':
return context$2$0.stop();
}
}, null, _this);
},
selectPickerWheelValue: function selectPickerWheelValue(x) {
return _regeneratorRuntime.async(function selectPickerWheelValue$(context$2$0) {
while (1) switch (context$2$0.prev = context$2$0.next) {
case 0:
context$2$0.next = 2;
return _regeneratorRuntime.awrap(this.mobileSelectPickerWheelValue(x));
case 2:
case 'end':
return context$2$0.stop();
}
}, null, _this);
}
};
if (_lodash2['default'].has(mobileCommandsMapping, mobileCommand)) {
context$1$0.next = 3;
break;
}
throw new _appiumBaseDriver.errors.UnknownCommandError('Unknown mobile command "' + mobileCommand + '". Only ' + _lodash2['default'].keys(mobileCommandsMapping) + ' commands are supported.');
case 3:
context$1$0.next = 5;
return _regeneratorRuntime.awrap(mobileCommandsMapping[mobileCommand](opts));
case 5:
return context$1$0.abrupt('return', context$1$0.sent);
case 6:
case 'end':
return context$1$0.stop();
}
}, null, this);
};
exports['default'] = extensions;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9jb21tYW5kcy9leGVjdXRlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztzQkFBYyxRQUFROzs7OytCQUNNLG1CQUFtQjs7Z0NBQ3hCLG9CQUFvQjs7QUFHM0MsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDOztBQUVwQixlQUFjLFVBQVUsRUFBRSw2QkFBWSxPQUFPLENBQUMsQ0FBQzs7QUFFL0MsSUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztBQUN0QyxVQUFVLENBQUMsT0FBTyxHQUFHLG9CQUFnQixNQUFNLEVBQUUsSUFBSTs7OztjQUMzQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7Ozs7O2NBQzlDLElBQUkseUJBQU8sbUJBQW1CLEVBQUU7Ozs7eUNBRzNCLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUM7Ozs7Ozs7Ozs7Q0FDakQsQ0FBQzs7QUFFRixJQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO0FBQ2hELFVBQVUsQ0FBQyxZQUFZLEdBQUcsb0JBQWdCLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUzs7OztZQUMxRCxJQUFJLENBQUMsWUFBWSxFQUFFOzs7OztjQUNoQixJQUFJLHlCQUFPLG1CQUFtQixFQUFFOzs7O3lDQUczQixlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQzs7Ozs7Ozs7OztDQUNqRSxDQUFDOzs7QUFHRixVQUFVLENBQUMsYUFBYSxHQUFHLG9CQUFnQixhQUFhO01BQUUsSUFBSSx5REFBQyxFQUFFO01BQ3pELHFCQUFxQjs7Ozs7O0FBQXJCLDZCQUFxQixHQUFHO0FBQzVCLGdCQUFNLEVBQUUsZ0JBQU8sQ0FBQzs7Ozs7bURBQVksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7Ozs7Ozs7V0FBRTtBQUNsRCxlQUFLLEVBQUUsZUFBTyxDQUFDOzs7OzttREFBWSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUM7Ozs7Ozs7V0FBRTtBQUN2RCxlQUFLLEVBQUUsZUFBTyxDQUFDOzs7OzttREFBWSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQzs7Ozs7OztXQUFFO0FBQ2hELG1CQUFTLEVBQUUsbUJBQU8sQ0FBQzs7Ozs7bURBQVksSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7Ozs7Ozs7V0FBRTtBQUN4RCxzQkFBWSxFQUFFLHNCQUFPLENBQUM7Ozs7O21EQUFZLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7Ozs7Ozs7V0FBRTtBQUM5RCxzQkFBWSxFQUFFLHNCQUFPLENBQUM7Ozs7O21EQUFZLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7Ozs7Ozs7V0FBRTtBQUM5RCxhQUFHLEVBQUUsYUFBTyxDQUFDOzs7OzttREFBWSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQzs7Ozs7OztXQUFFO0FBQzVDLCtCQUFxQixFQUFFLCtCQUFPLENBQUM7Ozs7O21EQUFZLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUM7Ozs7Ozs7V0FBRTtBQUNoRixnQ0FBc0IsRUFBRSxnQ0FBTyxDQUFDOzs7OzttREFBWSxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDOzs7Ozs7O1dBQUU7U0FDbkY7O1lBRUksb0JBQUUsR0FBRyxDQUFDLHFCQUFxQixFQUFFLGFBQWEsQ0FBQzs7Ozs7Y0FDeEMsSUFBSSx5QkFBTyxtQkFBbUIsOEJBQTRCLGFBQWEsZ0JBQVcsb0JBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLDhCQUEyQjs7Ozt5Q0FFckkscUJBQXFCLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDOzs7Ozs7Ozs7O0NBQ3hELENBQUM7O3FCQUVhLFVBQVUiLCJmaWxlIjoibGliL2NvbW1hbmRzL2V4ZWN1dGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgaW9zQ29tbWFuZHMgfSBmcm9tICdhcHBpdW0taW9zLWRyaXZlcic7XG5pbXBvcnQgeyBlcnJvcnMgfSBmcm9tICdhcHBpdW0tYmFzZS1kcml2ZXInO1xuXG5cbmxldCBleHRlbnNpb25zID0ge307XG5cbk9iamVjdC5hc3NpZ24oZXh0ZW5zaW9ucywgaW9zQ29tbWFuZHMuZXhlY3V0ZSk7XG5cbmNvbnN0IGlvc0V4ZWN1dGUgPSBleHRlbnNpb25zLmV4ZWN1dGU7XG5leHRlbnNpb25zLmV4ZWN1dGUgPSBhc3luYyBmdW5jdGlvbiAoc2NyaXB0LCBhcmdzKSB7XG4gIGlmICghc2NyaXB0Lm1hdGNoKC9ebW9iaWxlXFw6LykgJiYgIXRoaXMuaXNXZWJDb250ZXh0KCkpIHtcbiAgICB0aHJvdyBuZXcgZXJyb3JzLk5vdEltcGxlbWVudGVkRXJyb3IoKTtcbiAgfVxuXG4gIHJldHVybiBhd2FpdCBpb3NFeGVjdXRlLmNhbGwodGhpcywgc2NyaXB0LCBhcmdzKTtcbn07XG5cbmNvbnN0IGlvc0V4ZWN1dGVBc3luYyA9IGV4dGVuc2lvbnMuZXhlY3V0ZUFzeW5jO1xuZXh0ZW5zaW9ucy5leGVjdXRlQXN5bmMgPSBhc3luYyBmdW5jdGlvbiAoc2NyaXB0LCBhcmdzLCBzZXNzaW9uSWQpIHtcbiAgaWYgKCF0aGlzLmlzV2ViQ29udGV4dCgpKSB7XG4gICAgdGhyb3cgbmV3IGVycm9ycy5Ob3RJbXBsZW1lbnRlZEVycm9yKCk7XG4gIH1cblxuICByZXR1cm4gYXdhaXQgaW9zRXhlY3V0ZUFzeW5jLmNhbGwodGhpcywgc2NyaXB0LCBhcmdzLCBzZXNzaW9uSWQpO1xufTtcblxuLy8gT3ZlcnJpZGVzIHRoZSAnZXhlY3V0ZU1vYmlsZScgZnVuY3Rpb24gZGVmaW5lZCBpbiBhcHBpdW0taW9zLWRyaXZlclxuZXh0ZW5zaW9ucy5leGVjdXRlTW9iaWxlID0gYXN5bmMgZnVuY3Rpb24gKG1vYmlsZUNvbW1hbmQsIG9wdHM9e30pIHtcbiAgY29uc3QgbW9iaWxlQ29tbWFuZHNNYXBwaW5nID0ge1xuICAgIHNjcm9sbDogYXN5bmMgKHgpID0+IHthd2FpdCB0aGlzLm1vYmlsZVNjcm9sbCh4KTt9LFxuICAgIHN3aXBlOiBhc3luYyAoeCkgPT4ge2F3YWl0IHRoaXMubW9iaWxlU2Nyb2xsKHgsIHRydWUpO30sXG4gICAgcGluY2g6IGFzeW5jICh4KSA9PiB7YXdhaXQgdGhpcy5tb2JpbGVQaW5jaCh4KTt9LFxuICAgIGRvdWJsZVRhcDogYXN5bmMgKHgpID0+IHthd2FpdCB0aGlzLm1vYmlsZURvdWJsZVRhcCh4KTt9LFxuICAgIHR3b0ZpbmdlclRhcDogYXN5bmMgKHgpID0+IHthd2FpdCB0aGlzLm1vYmlsZVR3b0ZpbmdlclRhcCh4KTt9LFxuICAgIHRvdWNoQW5kSG9sZDogYXN5bmMgKHgpID0+IHthd2FpdCB0aGlzLm1vYmlsZVRvdWNoQW5kSG9sZCh4KTt9LFxuICAgIHRhcDogYXN5bmMgKHgpID0+IHthd2FpdCB0aGlzLm1vYmlsZVRhcCh4KTt9LFxuICAgIGRyYWdGcm9tVG9Gb3JEdXJhdGlvbjogYXN5bmMgKHgpID0+IHthd2FpdCB0aGlzLm1vYmlsZURyYWdGcm9tVG9Gb3JEdXJhdGlvbih4KTt9LFxuICAgIHNlbGVjdFBpY2tlcldoZWVsVmFsdWU6IGFzeW5jICh4KSA9PiB7YXdhaXQgdGhpcy5tb2JpbGVTZWxlY3RQaWNrZXJXaGVlbFZhbHVlKHgpO31cbiAgfTtcblxuICBpZiAoIV8uaGFzKG1vYmlsZUNvbW1hbmRzTWFwcGluZywgbW9iaWxlQ29tbWFuZCkpIHtcbiAgICB0aHJvdyBuZXcgZXJyb3JzLlVua25vd25Db21tYW5kRXJyb3IoYFVua25vd24gbW9iaWxlIGNvbW1hbmQgXCIke21vYmlsZUNvbW1hbmR9XCIuIE9ubHkgJHtfLmtleXMobW9iaWxlQ29tbWFuZHNNYXBwaW5nKX0gY29tbWFuZHMgYXJlIHN1cHBvcnRlZC5gKTtcbiAgfVxuICByZXR1cm4gYXdhaXQgbW9iaWxlQ29tbWFuZHNNYXBwaW5nW21vYmlsZUNvbW1hbmRdKG9wdHMpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZXh0ZW5zaW9ucztcbiJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4ifQ==