appium-webdriveragent-driver
Version:
Appium driver for WebDriverAgent
130 lines (95 loc) • 7.66 kB
JavaScript
;
var _regeneratorRuntime = require('babel-runtime/regenerator')['default'];
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
var _this = this;
var _ = require('../..');
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _iosWebviewApp = require('ios-webview-app');
var _iosWebviewApp2 = _interopRequireDefault(_iosWebviewApp);
var _chai = require('chai');
var _chai2 = _interopRequireDefault(_chai);
var _chaiAsPromised = require('chai-as-promised');
var _chaiAsPromised2 = _interopRequireDefault(_chaiAsPromised);
var _wd = require('wd');
var _wd2 = _interopRequireDefault(_wd);
_chai2['default'].should();
_chai2['default'].use(_chaiAsPromised2['default']);
var HOST = "localhost",
PORT = 4994,
PLATFORM_VERSION = '9.1';
var DEFAULT_CAPS = {
platformName: 'iOS',
platformVersion: PLATFORM_VERSION,
app: _path2['default'].resolve(require.resolve('ios-webview-app'), '..', _iosWebviewApp2['default'][1]),
deviceName: "iPhone 6",
automationName: "WebDriverAgent"
};
describe('Webview', function () {
var server = undefined;
var driver = _wd2['default'].promiseChainRemote(HOST, PORT);
before(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((0, _.startServer)(PORT, HOST));
case 2:
server = context$2$0.sent;
case 3:
case 'end':
return context$2$0.stop();
}
}, null, _this);
});
after(function () {
// TODO I don't think this is actually shutting the server down, figure
// that out
server.close();
});
it('should start a session, navigate to url, get title', function callee$1$0() {
var contexts, urlBar, button, title;
return _regeneratorRuntime.async(function callee$1$0$(context$2$0) {
while (1) switch (context$2$0.prev = context$2$0.next) {
case 0:
this.timeout(120 * 1000);
context$2$0.next = 3;
return _regeneratorRuntime.awrap(driver.init(DEFAULT_CAPS));
case 3:
context$2$0.next = 5;
return _regeneratorRuntime.awrap(driver.contexts());
case 5:
contexts = context$2$0.sent;
contexts.length.should.equal(2);
context$2$0.next = 9;
return _regeneratorRuntime.awrap(driver.elementByClassName('UIATextField'));
case 9:
urlBar = context$2$0.sent;
context$2$0.next = 12;
return _regeneratorRuntime.awrap(driver.elementByClassName('UIAButton'));
case 12:
button = context$2$0.sent;
context$2$0.next = 15;
return _regeneratorRuntime.awrap(urlBar.sendKeys('appium.io'));
case 15:
context$2$0.next = 17;
return _regeneratorRuntime.awrap(button.click());
case 17:
context$2$0.next = 19;
return _regeneratorRuntime.awrap(driver.context('WEBVIEW_1'));
case 19:
context$2$0.next = 21;
return _regeneratorRuntime.awrap(driver.title());
case 21:
title = context$2$0.sent;
title.should.equal('Appium: Mobile App Automation Made Awesome.');
context$2$0.next = 25;
return _regeneratorRuntime.awrap(driver.quit());
case 25:
case 'end':
return context$2$0.stop();
}
}, null, this);
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvZnVuY3Rpb25hbC93ZWJ2aWV3LWUyZS1zcGVjcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztnQkFBNEIsT0FBTzs7b0JBQ2xCLE1BQU07Ozs7NkJBQ04saUJBQWlCOzs7O29CQUNqQixNQUFNOzs7OzhCQUNJLGtCQUFrQjs7OztrQkFDOUIsSUFBSTs7OztBQUVuQixrQkFBSyxNQUFNLEVBQUUsQ0FBQztBQUNkLGtCQUFLLEdBQUcsNkJBQWdCLENBQUM7O0FBRXpCLElBQU0sSUFBSSxHQUFHLFdBQVc7SUFDbEIsSUFBSSxHQUFHLElBQUk7SUFDWCxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7O0FBRS9CLElBQU0sWUFBWSxHQUFHO0FBQ25CLGNBQVksRUFBRSxLQUFLO0FBQ25CLGlCQUFlLEVBQUUsZ0JBQWdCO0FBQ2pDLEtBQUcsRUFBRSxrQkFBSyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUksRUFBRSwyQkFBSyxDQUFDLENBQUMsQ0FBQztBQUNwRSxZQUFVLEVBQUUsVUFBVTtBQUN0QixnQkFBYyxFQUFFLGdCQUFnQjtDQUNqQyxDQUFDOztBQUlGLFFBQVEsQ0FBQyxTQUFTLEVBQUUsWUFBTTtBQUN4QixNQUFJLE1BQU0sWUFBQSxDQUFDO0FBQ1gsTUFBSSxNQUFNLEdBQUcsZ0JBQUcsa0JBQWtCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQy9DLFFBQU0sQ0FBQzs7Ozs7MkNBQ1UsbUJBQVksSUFBSSxFQUFFLElBQUksQ0FBQzs7O0FBQXRDLGdCQUFNOzs7Ozs7O0dBQ1AsQ0FBQyxDQUFDOztBQUVILE9BQUssQ0FBQyxZQUFNOzs7QUFHVixVQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7R0FDaEIsQ0FBQyxDQUFDOztBQUVILElBQUUsQ0FBQyxvREFBb0QsRUFBRTtRQUduRCxRQUFRLEVBR1IsTUFBTSxFQUNOLE1BQU0sRUFLTixLQUFLOzs7O0FBWFQsY0FBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7OzJDQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzs7OzsyQ0FDVixNQUFNLENBQUMsUUFBUSxFQUFFOzs7QUFBbEMsa0JBQVE7O0FBQ1osa0JBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzs7OzJDQUViLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUM7OztBQUF4RCxnQkFBTTs7MkNBQ1MsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQzs7O0FBQXJELGdCQUFNOzsyQ0FDSixNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQzs7OzsyQ0FDNUIsTUFBTSxDQUFDLEtBQUssRUFBRTs7OzsyQ0FFZCxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQzs7OzsyQ0FDZixNQUFNLENBQUMsS0FBSyxFQUFFOzs7QUFBNUIsZUFBSzs7QUFDVCxlQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDOzs7MkNBRTVELE1BQU0sQ0FBQyxJQUFJLEVBQUU7Ozs7Ozs7R0FDcEIsQ0FBQyxDQUFDO0NBRUosQ0FBQyxDQUFDIiwiZmlsZSI6InRlc3QvZnVuY3Rpb25hbC93ZWJ2aWV3LWUyZS1zcGVjcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHN0YXJ0U2VydmVyIH0gZnJvbSAnLi4vLi4nO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgYXBwcyBmcm9tICdpb3Mtd2Vidmlldy1hcHAnO1xuaW1wb3J0IGNoYWkgZnJvbSAnY2hhaSc7XG5pbXBvcnQgY2hhaUFzUHJvbWlzZWQgZnJvbSAnY2hhaS1hcy1wcm9taXNlZCc7XG5pbXBvcnQgd2QgZnJvbSAnd2QnO1xuXG5jaGFpLnNob3VsZCgpO1xuY2hhaS51c2UoY2hhaUFzUHJvbWlzZWQpO1xuXG5jb25zdCBIT1NUID0gXCJsb2NhbGhvc3RcIixcbiAgICAgIFBPUlQgPSA0OTk0LFxuICAgICAgUExBVEZPUk1fVkVSU0lPTiA9ICc5LjEnO1xuXG5jb25zdCBERUZBVUxUX0NBUFMgPSB7XG4gIHBsYXRmb3JtTmFtZTogJ2lPUycsXG4gIHBsYXRmb3JtVmVyc2lvbjogUExBVEZPUk1fVkVSU0lPTixcbiAgYXBwOiBwYXRoLnJlc29sdmUocmVxdWlyZS5yZXNvbHZlKCdpb3Mtd2Vidmlldy1hcHAnKSwgJy4uJywgYXBwc1sxXSksXG4gIGRldmljZU5hbWU6IFwiaVBob25lIDZcIixcbiAgYXV0b21hdGlvbk5hbWU6IFwiV2ViRHJpdmVyQWdlbnRcIixcbn07XG5cblxuXG5kZXNjcmliZSgnV2VidmlldycsICgpID0+IHtcbiAgbGV0IHNlcnZlcjtcbiAgbGV0IGRyaXZlciA9IHdkLnByb21pc2VDaGFpblJlbW90ZShIT1NULCBQT1JUKTtcbiAgYmVmb3JlKGFzeW5jICgpID0+IHtcbiAgICBzZXJ2ZXIgPSBhd2FpdCBzdGFydFNlcnZlcihQT1JULCBIT1NUKTtcbiAgfSk7XG5cbiAgYWZ0ZXIoKCkgPT4ge1xuICAgIC8vIFRPRE8gSSBkb24ndCB0aGluayB0aGlzIGlzIGFjdHVhbGx5IHNodXR0aW5nIHRoZSBzZXJ2ZXIgZG93biwgZmlndXJlXG4gICAgLy8gdGhhdCBvdXRcbiAgICBzZXJ2ZXIuY2xvc2UoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBzdGFydCBhIHNlc3Npb24sIG5hdmlnYXRlIHRvIHVybCwgZ2V0IHRpdGxlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIHRoaXMudGltZW91dCgxMjAgKiAxMDAwKTtcbiAgICBhd2FpdCBkcml2ZXIuaW5pdChERUZBVUxUX0NBUFMpO1xuICAgIGxldCBjb250ZXh0cyA9IGF3YWl0IGRyaXZlci5jb250ZXh0cygpO1xuICAgIGNvbnRleHRzLmxlbmd0aC5zaG91bGQuZXF1YWwoMik7XG5cbiAgICBsZXQgdXJsQmFyID0gYXdhaXQgZHJpdmVyLmVsZW1lbnRCeUNsYXNzTmFtZSgnVUlBVGV4dEZpZWxkJyk7XG4gICAgbGV0IGJ1dHRvbiA9IGF3YWl0IGRyaXZlci5lbGVtZW50QnlDbGFzc05hbWUoJ1VJQUJ1dHRvbicpO1xuICAgIGF3YWl0IHVybEJhci5zZW5kS2V5cygnYXBwaXVtLmlvJyk7XG4gICAgYXdhaXQgYnV0dG9uLmNsaWNrKCk7XG5cbiAgICBhd2FpdCBkcml2ZXIuY29udGV4dCgnV0VCVklFV18xJyk7XG4gICAgbGV0IHRpdGxlID0gYXdhaXQgZHJpdmVyLnRpdGxlKCk7XG4gICAgdGl0bGUuc2hvdWxkLmVxdWFsKCdBcHBpdW06IE1vYmlsZSBBcHAgQXV0b21hdGlvbiBNYWRlIEF3ZXNvbWUuJyk7XG5cbiAgICBhd2FpdCBkcml2ZXIucXVpdCgpO1xuICB9KTtcblxufSk7XG4iXX0=