UNPKG

appium-webdriveragent-driver

Version:
181 lines (139 loc) 10.1 kB
'use strict'; var _regeneratorRuntime = require('babel-runtime/regenerator')['default']; var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; var _this = this; var _ = require('../..'); var _asyncbox = require('asyncbox'); 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, BUNDLE_ID = 'com.apple.mobilesafari', PLATFORM_VERSION = '9.1'; var DEFAULT_CAPS = { platformName: 'iOS', platformVersion: PLATFORM_VERSION, browserName: 'Safari', bundleId: BUNDLE_ID, deviceName: "iPhone 6", automationName: "WebDriverAgent" }; describe('Safari', 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); }); afterEach(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: this.timeout(3 * 60 * 1000); driver.quit(); case 2: 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, title; return _regeneratorRuntime.async(function callee$1$0$(context$2$0) { var _this2 = this; 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.be.above(0); context$2$0.next = 9; return _regeneratorRuntime.awrap(driver.context(contexts[0])); case 9: context$2$0.next = 11; return _regeneratorRuntime.awrap((0, _asyncbox.retry)(10, function callee$2$0() { var title; return _regeneratorRuntime.async(function callee$2$0$(context$3$0) { while (1) switch (context$3$0.prev = context$3$0.next) { case 0: context$3$0.next = 2; return _regeneratorRuntime.awrap(driver.title()); case 2: title = context$3$0.sent; if (title) { context$3$0.next = 5; break; } throw new Error('did not get page title'); case 5: return context$3$0.abrupt('return', title); case 6: case 'end': return context$3$0.stop(); } }, null, _this2); })); case 11: title = context$2$0.sent; title.should.equal('Appium: Mobile App Automation Made Awesome.'); context$2$0.next = 15; return _regeneratorRuntime.awrap(driver.get('http://saucelabs.com')); case 15: context$2$0.next = 17; return _regeneratorRuntime.awrap(driver.title()); case 17: title = context$2$0.sent; title.should.include('Sauce Labs'); case 19: case 'end': return context$2$0.stop(); } }, null, this); }); it('should delete a session, then be able to start another session', 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: this.timeout(4 * 60 * 1000); context$2$0.next = 3; return _regeneratorRuntime.awrap(driver.init(DEFAULT_CAPS)); case 3: context$2$0.next = 5; return _regeneratorRuntime.awrap(driver.quit()); case 5: context$2$0.next = 7; return _regeneratorRuntime.awrap(driver.init(DEFAULT_CAPS)); case 7: case 'end': return context$2$0.stop(); } }, null, this); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvZnVuY3Rpb25hbC9zYWZhcmktZTJlLXNwZWNzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O2dCQUE0QixPQUFPOzt3QkFDYixVQUFVOztvQkFDZixNQUFNOzs7OzhCQUNJLGtCQUFrQjs7OztrQkFDOUIsSUFBSTs7OztBQUVuQixrQkFBSyxNQUFNLEVBQUUsQ0FBQztBQUNkLGtCQUFLLEdBQUcsNkJBQWdCLENBQUM7O0FBRXpCLElBQU0sSUFBSSxHQUFHLFdBQVc7SUFDbEIsSUFBSSxHQUFHLElBQUk7SUFDWCxTQUFTLEdBQUcsd0JBQXdCO0lBQ3BDLGdCQUFnQixHQUFHLEtBQUssQ0FBQzs7QUFFL0IsSUFBTSxZQUFZLEdBQUc7QUFDbkIsY0FBWSxFQUFFLEtBQUs7QUFDbkIsaUJBQWUsRUFBRSxnQkFBZ0I7QUFDakMsYUFBVyxFQUFFLFFBQVE7QUFDckIsVUFBUSxFQUFFLFNBQVM7QUFDbkIsWUFBVSxFQUFFLFVBQVU7QUFDdEIsZ0JBQWMsRUFBRSxnQkFBZ0I7Q0FDakMsQ0FBQzs7QUFJRixRQUFRLENBQUMsUUFBUSxFQUFFLFlBQU07QUFDdkIsTUFBSSxNQUFNLFlBQUEsQ0FBQztBQUNYLE1BQUksTUFBTSxHQUFHLGdCQUFHLGtCQUFrQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMvQyxRQUFNLENBQUM7Ozs7OzJDQUNVLG1CQUFZLElBQUksRUFBRSxJQUFJLENBQUM7OztBQUF0QyxnQkFBTTs7Ozs7OztHQUNQLENBQUMsQ0FBQzs7QUFFSCxXQUFTLENBQUM7Ozs7QUFDUixjQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDNUIsZ0JBQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQzs7Ozs7OztHQUNmLENBQUMsQ0FBQzs7QUFFSCxPQUFLLENBQUMsWUFBTTs7O0FBR1YsVUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0dBQ2hCLENBQUMsQ0FBQzs7QUFFSCxJQUFFLENBQUMsb0RBQW9ELEVBQUU7UUFHbkQsUUFBUSxFQUdSLEtBQUs7Ozs7OztBQUxULGNBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDOzsyQ0FDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7Ozs7MkNBQ1YsTUFBTSxDQUFDLFFBQVEsRUFBRTs7O0FBQWxDLGtCQUFROztBQUNaLGtCQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDOzsyQ0FDN0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7Ozs7MkNBQ2YscUJBQU0sRUFBRSxFQUFFO2dCQUN0QixLQUFLOzs7OzttREFBUyxNQUFNLENBQUMsS0FBSyxFQUFFOzs7QUFBNUIsdUJBQUs7O3NCQUNKLEtBQUs7Ozs7O3dCQUNGLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDOzs7c0RBRXBDLEtBQUs7Ozs7Ozs7V0FDYixDQUFDOzs7QUFORSxlQUFLOztBQU9ULGVBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7OzsyQ0FFNUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQzs7OzsyQ0FDMUIsTUFBTSxDQUFDLEtBQUssRUFBRTs7O0FBQTVCLGVBQUs7O0FBQ0wsZUFBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7Ozs7Ozs7R0FDcEMsQ0FBQyxDQUFDOztBQUVILElBQUUsQ0FBQyxnRUFBZ0UsRUFBRTs7OztBQUNuRSxjQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7OzJDQUN0QixNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzs7OzsyQ0FDekIsTUFBTSxDQUFDLElBQUksRUFBRTs7OzsyQ0FDYixNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzs7Ozs7OztHQUNoQyxDQUFDLENBQUM7Q0FFSixDQUFDLENBQUMiLCJmaWxlIjoidGVzdC9mdW5jdGlvbmFsL3NhZmFyaS1lMmUtc3BlY3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzdGFydFNlcnZlciB9IGZyb20gJy4uLy4uJztcbmltcG9ydCB7IHJldHJ5IH0gZnJvbSAnYXN5bmNib3gnO1xuaW1wb3J0IGNoYWkgZnJvbSAnY2hhaSc7XG5pbXBvcnQgY2hhaUFzUHJvbWlzZWQgZnJvbSAnY2hhaS1hcy1wcm9taXNlZCc7XG5pbXBvcnQgd2QgZnJvbSAnd2QnO1xuXG5jaGFpLnNob3VsZCgpO1xuY2hhaS51c2UoY2hhaUFzUHJvbWlzZWQpO1xuXG5jb25zdCBIT1NUID0gXCJsb2NhbGhvc3RcIixcbiAgICAgIFBPUlQgPSA0OTk0LFxuICAgICAgQlVORExFX0lEID0gJ2NvbS5hcHBsZS5tb2JpbGVzYWZhcmknLFxuICAgICAgUExBVEZPUk1fVkVSU0lPTiA9ICc5LjEnO1xuXG5jb25zdCBERUZBVUxUX0NBUFMgPSB7XG4gIHBsYXRmb3JtTmFtZTogJ2lPUycsXG4gIHBsYXRmb3JtVmVyc2lvbjogUExBVEZPUk1fVkVSU0lPTixcbiAgYnJvd3Nlck5hbWU6ICdTYWZhcmknLFxuICBidW5kbGVJZDogQlVORExFX0lELFxuICBkZXZpY2VOYW1lOiBcImlQaG9uZSA2XCIsXG4gIGF1dG9tYXRpb25OYW1lOiBcIldlYkRyaXZlckFnZW50XCIsXG59O1xuXG5cblxuZGVzY3JpYmUoJ1NhZmFyaScsICgpID0+IHtcbiAgbGV0IHNlcnZlcjtcbiAgbGV0IGRyaXZlciA9IHdkLnByb21pc2VDaGFpblJlbW90ZShIT1NULCBQT1JUKTtcbiAgYmVmb3JlKGFzeW5jICgpID0+IHtcbiAgICBzZXJ2ZXIgPSBhd2FpdCBzdGFydFNlcnZlcihQT1JULCBIT1NUKTtcbiAgfSk7XG5cbiAgYWZ0ZXJFYWNoKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLnRpbWVvdXQoMyAqIDYwICogMTAwMCk7XG4gICAgZHJpdmVyLnF1aXQoKTtcbiAgfSk7XG5cbiAgYWZ0ZXIoKCkgPT4ge1xuICAgIC8vIFRPRE8gSSBkb24ndCB0aGluayB0aGlzIGlzIGFjdHVhbGx5IHNodXR0aW5nIHRoZSBzZXJ2ZXIgZG93biwgZmlndXJlXG4gICAgLy8gdGhhdCBvdXRcbiAgICBzZXJ2ZXIuY2xvc2UoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBzdGFydCBhIHNlc3Npb24sIG5hdmlnYXRlIHRvIHVybCwgZ2V0IHRpdGxlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIHRoaXMudGltZW91dCgxMjAgKiAxMDAwKTtcbiAgICBhd2FpdCBkcml2ZXIuaW5pdChERUZBVUxUX0NBUFMpO1xuICAgIGxldCBjb250ZXh0cyA9IGF3YWl0IGRyaXZlci5jb250ZXh0cygpO1xuICAgIGNvbnRleHRzLmxlbmd0aC5zaG91bGQuYmUuYWJvdmUoMCk7XG4gICAgYXdhaXQgZHJpdmVyLmNvbnRleHQoY29udGV4dHNbMF0pO1xuICAgIGxldCB0aXRsZSA9IGF3YWl0IHJldHJ5KDEwLCBhc3luYyAoKSA9PiB7XG4gICAgICBsZXQgdGl0bGUgPSBhd2FpdCBkcml2ZXIudGl0bGUoKTtcbiAgICAgIGlmICghdGl0bGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdkaWQgbm90IGdldCBwYWdlIHRpdGxlJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGl0bGU7XG4gICAgfSk7XG4gICAgdGl0bGUuc2hvdWxkLmVxdWFsKCdBcHBpdW06IE1vYmlsZSBBcHAgQXV0b21hdGlvbiBNYWRlIEF3ZXNvbWUuJyk7XG5cbiAgICBhd2FpdCBkcml2ZXIuZ2V0KCdodHRwOi8vc2F1Y2VsYWJzLmNvbScpO1xuICAgIHRpdGxlID0gYXdhaXQgZHJpdmVyLnRpdGxlKCk7XG4gICAgdGl0bGUuc2hvdWxkLmluY2x1ZGUoJ1NhdWNlIExhYnMnKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBkZWxldGUgYSBzZXNzaW9uLCB0aGVuIGJlIGFibGUgdG8gc3RhcnQgYW5vdGhlciBzZXNzaW9uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIHRoaXMudGltZW91dCg0ICogNjAgKiAxMDAwKTtcbiAgICBhd2FpdCBkcml2ZXIuaW5pdChERUZBVUxUX0NBUFMpO1xuICAgIGF3YWl0IGRyaXZlci5xdWl0KCk7XG4gICAgYXdhaXQgZHJpdmVyLmluaXQoREVGQVVMVF9DQVBTKTtcbiAgfSk7XG5cbn0pO1xuIl19