UNPKG

appium-xcuitest-driver-conan

Version:

Appium driver for iOS using XCUITest for backend

86 lines (65 loc) 5.17 kB
'use strict'; var _regeneratorRuntime = require('babel-runtime/regenerator')['default']; var _Object$assign = require('babel-runtime/core-js/object/assign')['default']; var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; Object.defineProperty(exports, '__esModule', { value: true }); var _xmldom = require('xmldom'); var _xmldom2 = _interopRequireDefault(_xmldom); var commands = {}, helpers = {}, extensions = {}; var APPIUM_SRC_XML = '<?xml version="1.0" encoding="UTF-8"?><AppiumAUT/>'; // WDA uses a POST request to get the source. Until that // is fixed, we need to translate the request commands.getPageSource = function callee$0$0() { var cmd; 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 = 5; break; } cmd = 'document.getElementsByTagName("html")[0].outerHTML'; context$1$0.next = 4; return _regeneratorRuntime.awrap(this.remote.execute(cmd)); case 4: return context$1$0.abrupt('return', context$1$0.sent); case 5: context$1$0.next = 7; return _regeneratorRuntime.awrap(this.getNativePageSource()); case 7: return context$1$0.abrupt('return', context$1$0.sent); case 8: case 'end': return context$1$0.stop(); } }, null, this); }; helpers.getNativePageSource = function callee$0$0() { var srcTree, parser, tree, doc; return _regeneratorRuntime.async(function callee$0$0$(context$1$0) { while (1) switch (context$1$0.prev = context$1$0.next) { case 0: context$1$0.next = 2; return _regeneratorRuntime.awrap(this.proxyCommand('/source', 'GET')); case 2: srcTree = context$1$0.sent; parser = new _xmldom2['default'].DOMParser(); tree = parser.parseFromString(srcTree); doc = parser.parseFromString(APPIUM_SRC_XML); doc.documentElement.appendChild(tree.documentElement); return context$1$0.abrupt('return', new _xmldom2['default'].XMLSerializer().serializeToString(doc)); case 8: case 'end': return context$1$0.stop(); } }, null, this); }; _Object$assign(extensions, commands, helpers); exports.commands = commands; exports.helpers = helpers; exports['default'] = extensions; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9jb21tYW5kcy9zb3VyY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O3NCQUFtQixRQUFROzs7O0FBRzNCLElBQUksUUFBUSxHQUFHLEVBQUU7SUFBRSxPQUFPLEdBQUcsRUFBRTtJQUFFLFVBQVUsR0FBRyxFQUFFLENBQUM7O0FBRWpELElBQU0sY0FBYyxHQUFHLG9EQUFvRCxDQUFDOzs7O0FBSTVFLFFBQVEsQ0FBQyxhQUFhLEdBQUc7TUFFakIsR0FBRzs7OzthQURMLElBQUksQ0FBQyxZQUFZLEVBQUU7Ozs7O0FBQ2pCLFdBQUcsR0FBRyxvREFBb0Q7O3lDQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7Ozs7Ozs7eUNBRzFCLElBQUksQ0FBQyxtQkFBbUIsRUFBRTs7Ozs7Ozs7OztDQUN4QyxDQUFDOztBQUVGLE9BQU8sQ0FBQyxtQkFBbUIsR0FBRztNQUN4QixPQUFPLEVBRVAsTUFBTSxFQUVOLElBQUksRUFFSixHQUFHOzs7Ozt5Q0FOYSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUM7OztBQUFuRCxlQUFPO0FBRVAsY0FBTSxHQUFHLElBQUksb0JBQU8sU0FBUyxFQUFFO0FBRS9CLFlBQUksR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQztBQUV0QyxXQUFHLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUM7O0FBQ2hELFdBQUcsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQzs7NENBRS9DLElBQUksb0JBQU8sYUFBYSxFQUFFLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDOzs7Ozs7O0NBQ3pELENBQUM7O0FBR0YsZUFBYyxVQUFVLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLFFBQVEsR0FBUixRQUFRO1FBQUUsT0FBTyxHQUFQLE9BQU87cUJBQ1gsVUFBVSIsImZpbGUiOiJsaWIvY29tbWFuZHMvc291cmNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHhtbGRvbSBmcm9tICd4bWxkb20nO1xuXG5cbmxldCBjb21tYW5kcyA9IHt9LCBoZWxwZXJzID0ge30sIGV4dGVuc2lvbnMgPSB7fTtcblxuY29uc3QgQVBQSVVNX1NSQ19YTUwgPSAnPD94bWwgdmVyc2lvbj1cIjEuMFwiIGVuY29kaW5nPVwiVVRGLThcIj8+PEFwcGl1bUFVVC8+JztcblxuLy8gV0RBIHVzZXMgYSBQT1NUIHJlcXVlc3QgdG8gZ2V0IHRoZSBzb3VyY2UuIFVudGlsIHRoYXRcbi8vIGlzIGZpeGVkLCB3ZSBuZWVkIHRvIHRyYW5zbGF0ZSB0aGUgcmVxdWVzdFxuY29tbWFuZHMuZ2V0UGFnZVNvdXJjZSA9IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgaWYgKHRoaXMuaXNXZWJDb250ZXh0KCkpIHtcbiAgICBsZXQgY21kID0gJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaHRtbFwiKVswXS5vdXRlckhUTUwnO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnJlbW90ZS5leGVjdXRlKGNtZCk7XG4gIH1cblxuICByZXR1cm4gYXdhaXQgdGhpcy5nZXROYXRpdmVQYWdlU291cmNlKCk7XG59O1xuXG5oZWxwZXJzLmdldE5hdGl2ZVBhZ2VTb3VyY2UgPSBhc3luYyBmdW5jdGlvbiAoKSB7XG4gIGxldCBzcmNUcmVlID0gYXdhaXQgdGhpcy5wcm94eUNvbW1hbmQoJy9zb3VyY2UnLCAnR0VUJyk7XG5cbiAgbGV0IHBhcnNlciA9IG5ldyB4bWxkb20uRE9NUGFyc2VyKCk7XG5cbiAgbGV0IHRyZWUgPSBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKHNyY1RyZWUpO1xuXG4gIGxldCBkb2MgPSBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKEFQUElVTV9TUkNfWE1MKTtcbiAgZG9jLmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZCh0cmVlLmRvY3VtZW50RWxlbWVudCk7XG5cbiAgcmV0dXJuIG5ldyB4bWxkb20uWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKGRvYyk7XG59O1xuXG5cbk9iamVjdC5hc3NpZ24oZXh0ZW5zaW9ucywgY29tbWFuZHMsIGhlbHBlcnMpO1xuZXhwb3J0IHsgY29tbWFuZHMsIGhlbHBlcnMgfTtcbmV4cG9ydCBkZWZhdWx0IGV4dGVuc2lvbnM7XG4iXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=