UNPKG

gst-atom-xcuitest-driver

Version:

ATOM driver for iOS using XCUITest for backend

107 lines (74 loc) 8.81 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.getConnectedDevices = getConnectedDevices; exports.getOSVersion = getOSVersion; exports.runRealDeviceReset = runRealDeviceReset; exports.installToRealDevice = installToRealDevice; exports.getRealDeviceObj = getRealDeviceObj; require("source-map-support/register"); var _gstAtomIosDevice = require("gst-atom-ios-device"); var _iosDeploy = _interopRequireDefault(require("./ios-deploy")); var _logger = _interopRequireDefault(require("./logger")); async function getConnectedDevices(opts) { return await _gstAtomIosDevice.utilities.getConnectedDevices(null, opts); } async function getOSVersion(opts) { return await _gstAtomIosDevice.utilities.getOSVersion(opts); } async function resetRealDevice(device, opts) { if (!opts.bundleId || !opts.fullReset) { return; } let bundleId = opts.bundleId; _logger.default.debug(`Reset: fullReset requested. Will try to uninstall the app '${bundleId}'.`); if (!(await device.isAppInstalled(bundleId))) { _logger.default.debug('Reset: app not installed. No need to uninstall'); return; } try { await device.remove(bundleId); } catch (err) { _logger.default.error(`Reset: could not remove '${bundleId}' from device: ${err.message}`); throw err; } _logger.default.debug(`Reset: removed '${bundleId}'`); } async function runRealDeviceReset(device, opts) { if (!opts.noReset || opts.fullReset) { _logger.default.debug('Reset: running ios real device reset flow'); if (!opts.noReset) { await resetRealDevice(device, opts); } } else { _logger.default.debug('Reset: fullReset not set. Leaving as is'); } } async function installToRealDevice(device, app, bundleId, opts = {}) { if (!device.udid || !app) { _logger.default.debug('No device id or app, not installing to real device.'); return; } const { noReset = false, timeout } = opts; if (await device.isAppInstalled(bundleId)) { if (noReset) { _logger.default.debug(`App '${bundleId}' is already installed. No need to reinstall.`); return; } _logger.default.debug(`Reset requested. Removing app with id '${bundleId}' from the device`); await device.remove(bundleId); } _logger.default.debug(`Installing '${app}' on device with UUID '${device.udid}'...`); await device.install(app, timeout); _logger.default.debug('The app has been installed successfully.'); } function getRealDeviceObj(opts) { _logger.default.debug(`Creating iDevice object with udid '${opts.udid}'`); return new _iosDeploy.default(opts); }require('source-map-support').install(); //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9yZWFsLWRldmljZS1tYW5hZ2VtZW50LmpzIl0sIm5hbWVzIjpbImdldENvbm5lY3RlZERldmljZXMiLCJvcHRzIiwidXRpbGl0aWVzIiwiZ2V0T1NWZXJzaW9uIiwicmVzZXRSZWFsRGV2aWNlIiwiZGV2aWNlIiwiYnVuZGxlSWQiLCJmdWxsUmVzZXQiLCJsb2ciLCJkZWJ1ZyIsImlzQXBwSW5zdGFsbGVkIiwicmVtb3ZlIiwiZXJyIiwiZXJyb3IiLCJtZXNzYWdlIiwicnVuUmVhbERldmljZVJlc2V0Iiwibm9SZXNldCIsImluc3RhbGxUb1JlYWxEZXZpY2UiLCJhcHAiLCJ1ZGlkIiwidGltZW91dCIsImluc3RhbGwiLCJnZXRSZWFsRGV2aWNlT2JqIiwiSU9TRGVwbG95Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFHQSxlQUFlQSxtQkFBZixDQUFvQ0MsSUFBcEMsRUFBMEM7QUFDeEMsU0FBTyxNQUFNQyw0QkFBVUYsbUJBQVYsQ0FBOEIsSUFBOUIsRUFBb0NDLElBQXBDLENBQWI7QUFDRDs7QUFFRCxlQUFlRSxZQUFmLENBQTZCRixJQUE3QixFQUFtQztBQUNqQyxTQUFPLE1BQU1DLDRCQUFVQyxZQUFWLENBQXVCRixJQUF2QixDQUFiO0FBQ0Q7O0FBRUQsZUFBZUcsZUFBZixDQUFnQ0MsTUFBaEMsRUFBd0NKLElBQXhDLEVBQThDO0FBQzVDLE1BQUksQ0FBQ0EsSUFBSSxDQUFDSyxRQUFOLElBQWtCLENBQUNMLElBQUksQ0FBQ00sU0FBNUIsRUFBdUM7QUFDckM7QUFDRDs7QUFFRCxNQUFJRCxRQUFRLEdBQUdMLElBQUksQ0FBQ0ssUUFBcEI7O0FBQ0FFLGtCQUFJQyxLQUFKLENBQVcsOERBQTZESCxRQUFTLElBQWpGOztBQUNBLE1BQUksRUFBQyxNQUFNRCxNQUFNLENBQUNLLGNBQVAsQ0FBc0JKLFFBQXRCLENBQVAsQ0FBSixFQUE0QztBQUMxQ0Usb0JBQUlDLEtBQUosQ0FBVSxnREFBVjs7QUFDQTtBQUNEOztBQUNELE1BQUk7QUFDRixVQUFNSixNQUFNLENBQUNNLE1BQVAsQ0FBY0wsUUFBZCxDQUFOO0FBQ0QsR0FGRCxDQUVFLE9BQU9NLEdBQVAsRUFBWTtBQUNaSixvQkFBSUssS0FBSixDQUFXLDRCQUEyQlAsUUFBUyxrQkFBaUJNLEdBQUcsQ0FBQ0UsT0FBUSxFQUE1RTs7QUFDQSxVQUFNRixHQUFOO0FBQ0Q7O0FBQ0RKLGtCQUFJQyxLQUFKLENBQVcsbUJBQWtCSCxRQUFTLEdBQXRDO0FBQ0Q7O0FBRUQsZUFBZVMsa0JBQWYsQ0FBbUNWLE1BQW5DLEVBQTJDSixJQUEzQyxFQUFpRDtBQUMvQyxNQUFJLENBQUNBLElBQUksQ0FBQ2UsT0FBTixJQUFpQmYsSUFBSSxDQUFDTSxTQUExQixFQUFxQztBQUNuQ0Msb0JBQUlDLEtBQUosQ0FBVSwyQ0FBVjs7QUFDQSxRQUFJLENBQUNSLElBQUksQ0FBQ2UsT0FBVixFQUFtQjtBQUNqQixZQUFNWixlQUFlLENBQUNDLE1BQUQsRUFBU0osSUFBVCxDQUFyQjtBQUNEO0FBQ0YsR0FMRCxNQUtPO0FBQ0xPLG9CQUFJQyxLQUFKLENBQVUseUNBQVY7QUFDRDtBQUNGOztBQUVELGVBQWVRLG1CQUFmLENBQW9DWixNQUFwQyxFQUE0Q2EsR0FBNUMsRUFBaURaLFFBQWpELEVBQTJETCxJQUFJLEdBQUcsRUFBbEUsRUFBc0U7QUFDcEUsTUFBSSxDQUFDSSxNQUFNLENBQUNjLElBQVIsSUFBZ0IsQ0FBQ0QsR0FBckIsRUFBMEI7QUFDeEJWLG9CQUFJQyxLQUFKLENBQVUscURBQVY7O0FBQ0E7QUFDRDs7QUFFRCxRQUFNO0FBQ0pPLElBQUFBLE9BQU8sR0FBRyxLQUROO0FBRUpJLElBQUFBO0FBRkksTUFHRm5CLElBSEo7O0FBS0EsTUFBSSxNQUFNSSxNQUFNLENBQUNLLGNBQVAsQ0FBc0JKLFFBQXRCLENBQVYsRUFBMkM7QUFDekMsUUFBSVUsT0FBSixFQUFhO0FBQ1hSLHNCQUFJQyxLQUFKLENBQVcsUUFBT0gsUUFBUywrQ0FBM0I7O0FBQ0E7QUFDRDs7QUFDREUsb0JBQUlDLEtBQUosQ0FBVywwQ0FBeUNILFFBQVMsbUJBQTdEOztBQUNBLFVBQU1ELE1BQU0sQ0FBQ00sTUFBUCxDQUFjTCxRQUFkLENBQU47QUFDRDs7QUFDREUsa0JBQUlDLEtBQUosQ0FBVyxlQUFjUyxHQUFJLDBCQUF5QmIsTUFBTSxDQUFDYyxJQUFLLE1BQWxFOztBQUNBLFFBQU1kLE1BQU0sQ0FBQ2dCLE9BQVAsQ0FBZUgsR0FBZixFQUFvQkUsT0FBcEIsQ0FBTjs7QUFDQVosa0JBQUlDLEtBQUosQ0FBVSwwQ0FBVjtBQUNEOztBQUVELFNBQVNhLGdCQUFULENBQTJCckIsSUFBM0IsRUFBaUM7QUFDL0JPLGtCQUFJQyxLQUFKLENBQVcsc0NBQXFDUixJQUFJLENBQUNrQixJQUFLLEdBQTFEOztBQUNBLFNBQU8sSUFBSUksa0JBQUosQ0FBY3RCLElBQWQsQ0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXRpbGl0aWVzIH0gZnJvbSAnZ3N0LWF0b20taW9zLWRldmljZSc7XG5pbXBvcnQgSU9TRGVwbG95IGZyb20gJy4vaW9zLWRlcGxveSc7XG5pbXBvcnQgbG9nIGZyb20gJy4vbG9nZ2VyJztcblxuXG5hc3luYyBmdW5jdGlvbiBnZXRDb25uZWN0ZWREZXZpY2VzIChvcHRzKSB7XG4gIHJldHVybiBhd2FpdCB1dGlsaXRpZXMuZ2V0Q29ubmVjdGVkRGV2aWNlcyhudWxsLCBvcHRzKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0T1NWZXJzaW9uIChvcHRzKSB7XG4gIHJldHVybiBhd2FpdCB1dGlsaXRpZXMuZ2V0T1NWZXJzaW9uKG9wdHMpO1xufVxuXG5hc3luYyBmdW5jdGlvbiByZXNldFJlYWxEZXZpY2UgKGRldmljZSwgb3B0cykge1xuICBpZiAoIW9wdHMuYnVuZGxlSWQgfHwgIW9wdHMuZnVsbFJlc2V0KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgbGV0IGJ1bmRsZUlkID0gb3B0cy5idW5kbGVJZDtcbiAgbG9nLmRlYnVnKGBSZXNldDogZnVsbFJlc2V0IHJlcXVlc3RlZC4gV2lsbCB0cnkgdG8gdW5pbnN0YWxsIHRoZSBhcHAgJyR7YnVuZGxlSWR9Jy5gKTtcbiAgaWYgKCFhd2FpdCBkZXZpY2UuaXNBcHBJbnN0YWxsZWQoYnVuZGxlSWQpKSB7XG4gICAgbG9nLmRlYnVnKCdSZXNldDogYXBwIG5vdCBpbnN0YWxsZWQuIE5vIG5lZWQgdG8gdW5pbnN0YWxsJyk7XG4gICAgcmV0dXJuO1xuICB9XG4gIHRyeSB7XG4gICAgYXdhaXQgZGV2aWNlLnJlbW92ZShidW5kbGVJZCk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZy5lcnJvcihgUmVzZXQ6IGNvdWxkIG5vdCByZW1vdmUgJyR7YnVuZGxlSWR9JyBmcm9tIGRldmljZTogJHtlcnIubWVzc2FnZX1gKTtcbiAgICB0aHJvdyBlcnI7XG4gIH1cbiAgbG9nLmRlYnVnKGBSZXNldDogcmVtb3ZlZCAnJHtidW5kbGVJZH0nYCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJ1blJlYWxEZXZpY2VSZXNldCAoZGV2aWNlLCBvcHRzKSB7XG4gIGlmICghb3B0cy5ub1Jlc2V0IHx8IG9wdHMuZnVsbFJlc2V0KSB7XG4gICAgbG9nLmRlYnVnKCdSZXNldDogcnVubmluZyBpb3MgcmVhbCBkZXZpY2UgcmVzZXQgZmxvdycpO1xuICAgIGlmICghb3B0cy5ub1Jlc2V0KSB7XG4gICAgICBhd2FpdCByZXNldFJlYWxEZXZpY2UoZGV2aWNlLCBvcHRzKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbG9nLmRlYnVnKCdSZXNldDogZnVsbFJlc2V0IG5vdCBzZXQuIExlYXZpbmcgYXMgaXMnKTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBpbnN0YWxsVG9SZWFsRGV2aWNlIChkZXZpY2UsIGFwcCwgYnVuZGxlSWQsIG9wdHMgPSB7fSkge1xuICBpZiAoIWRldmljZS51ZGlkIHx8ICFhcHApIHtcbiAgICBsb2cuZGVidWcoJ05vIGRldmljZSBpZCBvciBhcHAsIG5vdCBpbnN0YWxsaW5nIHRvIHJlYWwgZGV2aWNlLicpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBub1Jlc2V0ID0gZmFsc2UsXG4gICAgdGltZW91dCxcbiAgfSA9IG9wdHM7XG5cbiAgaWYgKGF3YWl0IGRldmljZS5pc0FwcEluc3RhbGxlZChidW5kbGVJZCkpIHtcbiAgICBpZiAobm9SZXNldCkge1xuICAgICAgbG9nLmRlYnVnKGBBcHAgJyR7YnVuZGxlSWR9JyBpcyBhbHJlYWR5IGluc3RhbGxlZC4gTm8gbmVlZCB0byByZWluc3RhbGwuYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxvZy5kZWJ1ZyhgUmVzZXQgcmVxdWVzdGVkLiBSZW1vdmluZyBhcHAgd2l0aCBpZCAnJHtidW5kbGVJZH0nIGZyb20gdGhlIGRldmljZWApO1xuICAgIGF3YWl0IGRldmljZS5yZW1vdmUoYnVuZGxlSWQpO1xuICB9XG4gIGxvZy5kZWJ1ZyhgSW5zdGFsbGluZyAnJHthcHB9JyBvbiBkZXZpY2Ugd2l0aCBVVUlEICcke2RldmljZS51ZGlkfScuLi5gKTtcbiAgYXdhaXQgZGV2aWNlLmluc3RhbGwoYXBwLCB0aW1lb3V0KTtcbiAgbG9nLmRlYnVnKCdUaGUgYXBwIGhhcyBiZWVuIGluc3RhbGxlZCBzdWNjZXNzZnVsbHkuJyk7XG59XG5cbmZ1bmN0aW9uIGdldFJlYWxEZXZpY2VPYmogKG9wdHMpIHtcbiAgbG9nLmRlYnVnKGBDcmVhdGluZyBpRGV2aWNlIG9iamVjdCB3aXRoIHVkaWQgJyR7b3B0cy51ZGlkfSdgKTtcbiAgcmV0dXJuIG5ldyBJT1NEZXBsb3kob3B0cyk7XG59XG5cbmV4cG9ydCB7IGdldENvbm5lY3RlZERldmljZXMsIGdldE9TVmVyc2lvbiwgcnVuUmVhbERldmljZVJlc2V0LCBpbnN0YWxsVG9SZWFsRGV2aWNlLFxuICBnZXRSZWFsRGV2aWNlT2JqIH07XG4iXSwiZmlsZSI6ImxpYi9yZWFsLWRldmljZS1tYW5hZ2VtZW50LmpzIiwic291cmNlUm9vdCI6Ii4uLy4uIn0=