UNPKG

appium-webdriveragent-driver

Version:
138 lines (109 loc) 7.15 kB
'use strict'; var _regeneratorRuntime = require('babel-runtime/regenerator')['default']; var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; Object.defineProperty(exports, '__esModule', { value: true }); var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _appiumIosSimulator = require('appium-ios-simulator'); var _nodeSimctl = require('node-simctl'); var _asyncbox = require('asyncbox'); var _appiumSupport = require('appium-support'); var DEFAULT_SAFARI_URL = 'http://appium.io'; // returns true if sim is booted. false if not booted or doesnt exist function simBooted(udid) { var sim, stat; return _regeneratorRuntime.async(function simBooted$(context$1$0) { while (1) switch (context$1$0.prev = context$1$0.next) { case 0: context$1$0.next = 2; return _regeneratorRuntime.awrap((0, _appiumIosSimulator.getSimulator)(udid)); case 2: sim = context$1$0.sent; context$1$0.next = 5; return _regeneratorRuntime.awrap(sim.stat()); case 5: stat = context$1$0.sent; return context$1$0.abrupt('return', stat.state === 'Booted'); case 7: case 'end': return context$1$0.stop(); } }, null, this); } // returns sim for desired caps function createSim(caps, sessionId) { var name, udid; return _regeneratorRuntime.async(function createSim$(context$1$0) { while (1) switch (context$1$0.prev = context$1$0.next) { case 0: name = 'appiumTest-' + sessionId; context$1$0.next = 3; return _regeneratorRuntime.awrap((0, _nodeSimctl.createDevice)(name, caps.deviceName, caps.platformVersion)); case 3: udid = context$1$0.sent; context$1$0.next = 6; return _regeneratorRuntime.awrap((0, _appiumIosSimulator.getSimulator)(udid)); case 6: return context$1$0.abrupt('return', context$1$0.sent); case 7: case 'end': return context$1$0.stop(); } }, null, this); } function systemLogExists(sim) { var TRIES, INTERVAL; return _regeneratorRuntime.async(function systemLogExists$(context$1$0) { var _this = this; while (1) switch (context$1$0.prev = context$1$0.next) { case 0: TRIES = 500; INTERVAL = 200; return context$1$0.abrupt('return', (0, _asyncbox.retryInterval)(TRIES, INTERVAL, function callee$1$0() { return _regeneratorRuntime.async(function callee$1$0$(context$2$0) { while (1) switch (context$2$0.prev = context$2$0.next) { case 0: context$2$0.next = 2; return _regeneratorRuntime.awrap(_appiumSupport.fs.exists(_path2['default'].resolve(sim.getLogDir(), 'system.log'))); case 2: if (context$2$0.sent) { context$2$0.next = 4; break; } throw new Error('system.log does not exist'); case 4: case 'end': return context$2$0.stop(); } }, null, _this); })); case 3: case 'end': return context$1$0.stop(); } }, null, this); } function launchSafariOnSim(initialUrl, sim) { return _regeneratorRuntime.async(function launchSafariOnSim$(context$1$0) { while (1) switch (context$1$0.prev = context$1$0.next) { case 0: if (!initialUrl) { initialUrl = DEFAULT_SAFARI_URL; } context$1$0.next = 3; return _regeneratorRuntime.awrap(sim.openUrl(initialUrl)); case 3: return context$1$0.abrupt('return', context$1$0.sent); case 4: case 'end': return context$1$0.stop(); } }, null, this); } exports.simBooted = simBooted; exports.createSim = createSim; exports.systemLogExists = systemLogExists; exports.launchSafariOnSim = launchSafariOnSim; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zaW11bGF0b3JNYW5hZ2VtZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7b0JBQWlCLE1BQU07Ozs7a0NBQ00sc0JBQXNCOzswQkFDdEIsYUFBYTs7d0JBQ1osVUFBVTs7NkJBQ3JCLGdCQUFnQjs7QUFFbkMsSUFBTSxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQzs7O0FBRzlDLFNBQWUsU0FBUyxDQUFFLElBQUk7TUFDeEIsR0FBRyxFQUNILElBQUk7Ozs7O3lDQURRLHNDQUFhLElBQUksQ0FBQzs7O0FBQTlCLFdBQUc7O3lDQUNVLEdBQUcsQ0FBQyxJQUFJLEVBQUU7OztBQUF2QixZQUFJOzRDQUNELElBQUksQ0FBQyxLQUFLLEtBQUssUUFBUTs7Ozs7OztDQUMvQjs7O0FBR0QsU0FBZSxTQUFTLENBQUUsSUFBSSxFQUFFLFNBQVM7TUFDbkMsSUFBSSxFQUNKLElBQUk7Ozs7QUFESixZQUFJLG1CQUFpQixTQUFTOzt5Q0FDakIsOEJBQWEsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQzs7O0FBQXRFLFlBQUk7O3lDQUNLLHNDQUFhLElBQUksQ0FBQzs7Ozs7Ozs7OztDQUNoQzs7QUFFRCxTQUFlLGVBQWUsQ0FBRSxHQUFHO01BQzNCLEtBQUssRUFDTCxRQUFROzs7Ozs7QUFEUixhQUFLLEdBQUcsR0FBRztBQUNYLGdCQUFRLEdBQUcsR0FBRzs0Q0FDYiw2QkFBYyxLQUFLLEVBQUUsUUFBUSxFQUFFOzs7OztpREFDekIsa0JBQUcsTUFBTSxDQUFDLGtCQUFLLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7Ozs7Ozs7O3NCQUN6RCxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQzs7Ozs7OztTQUUvQyxDQUFDOzs7Ozs7O0NBQ0g7O0FBRUQsU0FBZSxpQkFBaUIsQ0FBRSxVQUFVLEVBQUUsR0FBRzs7OztBQUMvQyxZQUFJLENBQUMsVUFBVSxFQUFFO0FBQ2Ysb0JBQVUsR0FBRyxrQkFBa0IsQ0FBQztTQUNqQzs7O3lDQUVZLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDOzs7Ozs7Ozs7O0NBQ3JDOztRQUVRLFNBQVMsR0FBVCxTQUFTO1FBQUUsU0FBUyxHQUFULFNBQVM7UUFBRSxlQUFlLEdBQWYsZUFBZTtRQUFFLGlCQUFpQixHQUFqQixpQkFBaUIiLCJmaWxlIjoibGliL3NpbXVsYXRvck1hbmFnZW1lbnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGdldFNpbXVsYXRvciB9IGZyb20gJ2FwcGl1bS1pb3Mtc2ltdWxhdG9yJztcbmltcG9ydCB7IGNyZWF0ZURldmljZSB9IGZyb20gJ25vZGUtc2ltY3RsJztcbmltcG9ydCB7IHJldHJ5SW50ZXJ2YWwgfSBmcm9tICdhc3luY2JveCc7XG5pbXBvcnQgeyBmcyB9IGZyb20gJ2FwcGl1bS1zdXBwb3J0JztcblxuY29uc3QgREVGQVVMVF9TQUZBUklfVVJMID0gJ2h0dHA6Ly9hcHBpdW0uaW8nO1xuXG4vLyByZXR1cm5zIHRydWUgaWYgc2ltIGlzIGJvb3RlZC4gZmFsc2UgaWYgbm90IGJvb3RlZCBvciBkb2VzbnQgZXhpc3RcbmFzeW5jIGZ1bmN0aW9uIHNpbUJvb3RlZCAodWRpZCkge1xuICBsZXQgc2ltID0gYXdhaXQgZ2V0U2ltdWxhdG9yKHVkaWQpO1xuICBsZXQgc3RhdCA9IGF3YWl0IHNpbS5zdGF0KCk7XG4gIHJldHVybiBzdGF0LnN0YXRlID09PSAnQm9vdGVkJztcbn1cblxuLy8gcmV0dXJucyBzaW0gZm9yIGRlc2lyZWQgY2Fwc1xuYXN5bmMgZnVuY3Rpb24gY3JlYXRlU2ltIChjYXBzLCBzZXNzaW9uSWQpIHtcbiAgbGV0IG5hbWUgPSBgYXBwaXVtVGVzdC0ke3Nlc3Npb25JZH1gO1xuICBsZXQgdWRpZCA9IGF3YWl0IGNyZWF0ZURldmljZShuYW1lLCBjYXBzLmRldmljZU5hbWUsIGNhcHMucGxhdGZvcm1WZXJzaW9uKTtcbiAgcmV0dXJuIGF3YWl0IGdldFNpbXVsYXRvcih1ZGlkKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc3lzdGVtTG9nRXhpc3RzIChzaW0pIHtcbiAgY29uc3QgVFJJRVMgPSA1MDA7XG4gIGNvbnN0IElOVEVSVkFMID0gMjAwO1xuICByZXR1cm4gcmV0cnlJbnRlcnZhbChUUklFUywgSU5URVJWQUwsIGFzeW5jICgpID0+IHtcbiAgICBpZiAoIWF3YWl0IGZzLmV4aXN0cyhwYXRoLnJlc29sdmUoc2ltLmdldExvZ0RpcigpLCAnc3lzdGVtLmxvZycpKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdzeXN0ZW0ubG9nIGRvZXMgbm90IGV4aXN0Jyk7XG4gICAgfVxuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbGF1bmNoU2FmYXJpT25TaW0gKGluaXRpYWxVcmwsIHNpbSkge1xuICBpZiAoIWluaXRpYWxVcmwpIHtcbiAgICBpbml0aWFsVXJsID0gREVGQVVMVF9TQUZBUklfVVJMO1xuICB9XG5cbiAgcmV0dXJuIGF3YWl0IHNpbS5vcGVuVXJsKGluaXRpYWxVcmwpO1xufVxuXG5leHBvcnQgeyBzaW1Cb290ZWQsIGNyZWF0ZVNpbSwgc3lzdGVtTG9nRXhpc3RzLCBsYXVuY2hTYWZhcmlPblNpbSB9O1xuIl19