gst-atom-xcuitest-driver
Version:
ATOM driver for iOS using XCUITest for backend
107 lines (74 loc) • 8.81 kB
JavaScript
;
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=