appium-xcuitest-driver-conan
Version:
Appium driver for iOS using XCUITest for backend
86 lines (65 loc) • 5.17 kB
JavaScript
;
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=