appium-webdriveragent-driver
Version:
Appium driver for WebDriverAgent
181 lines (139 loc) • 10.1 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 _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