UNPKG

testcafe

Version:

Automated browser testing for the modern web development stack.

43 lines 7.12 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const api_base_1 = __importDefault(require("../api-base")); const async_event_emitter_1 = __importDefault(require("../../utils/async-event-emitter")); const NATIVE_AUTOMATION_STORAGE_BINDING = 'NATIVE_AUTOMATION_STORAGE_BINDING'; class SessionStorage extends api_base_1.default { constructor(browserId, client, options) { super(browserId, client, options); this._eventEmitter = new async_event_emitter_1.default(); } async _onTestRunDoneHandler(testRun) { await this._eventEmitter.emit('contextStorageTestRunDone', { testRunId: testRun.id }); } _addTestRunEventListeners(messageBus) { messageBus.on('test-run-done', this._onTestRunDoneHandler.bind(this)); } _addEventListeners() { if (this._browserConnection.messageBus) this._addTestRunEventListeners(this._browserConnection.messageBus); this._browserConnection.on('message-bus-initialized', messageBus => { this._addTestRunEventListeners(messageBus); }); } on(eventName, listener) { return this._eventEmitter.on(eventName, listener); } async start() { this._addEventListeners(); await this._client.Runtime.addBinding({ name: NATIVE_AUTOMATION_STORAGE_BINDING }); await this._client.Runtime.on('bindingCalled', (event) => { if (event.name === NATIVE_AUTOMATION_STORAGE_BINDING) { const { testRunId, frameDriverId, data } = JSON.parse(event.payload); this._eventEmitter.emit('contextStorageSync', { sessionStorage: data, testRunId, frameDriverId }); } }); } } exports.default = SessionStorage; module.exports = exports.default; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmF0aXZlLWF1dG9tYXRpb24vc2Vzc2lvbi1zdG9yYWdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsMkRBQWtEO0FBRWxELDBGQUFnRTtBQU1oRSxNQUFNLGlDQUFpQyxHQUFHLG1DQUFtQyxDQUFDO0FBRTlFLE1BQXFCLGNBQWUsU0FBUSxrQkFBdUI7SUFHL0QsWUFBYSxTQUFpQixFQUFFLE1BQW1CLEVBQUUsT0FBb0M7UUFDckYsS0FBSyxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFbEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLDZCQUFpQixFQUFFLENBQUM7SUFFakQsQ0FBQztJQUVPLEtBQUssQ0FBQyxxQkFBcUIsQ0FBRSxPQUFnQjtRQUNqRCxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFTyx5QkFBeUIsQ0FBRSxVQUFzQjtRQUNyRCxVQUFVLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVPLGtCQUFrQjtRQUN0QixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVO1lBQ2xDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFdkUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxVQUFVLENBQUMsRUFBRTtZQUMvRCxJQUFJLENBQUMseUJBQXlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sRUFBRSxDQUFFLFNBQWlCLEVBQUUsUUFBa0M7UUFDNUQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFLO1FBQ2QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFMUIsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsaUNBQWlDLEVBQUUsQ0FBQyxDQUFDO1FBRW5GLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDLEtBQXlCLEVBQUUsRUFBRTtZQUN6RSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssaUNBQWlDLEVBQUU7Z0JBQ2xELE1BQU0sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUVyRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7YUFDckc7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSjtBQTVDRCxpQ0E0Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm90b2NvbEFwaSB9IGZyb20gJ2Nocm9tZS1yZW1vdGUtaW50ZXJmYWNlJztcbmltcG9ydCBQcm90b2NvbCBmcm9tICdkZXZ0b29scy1wcm90b2NvbCc7XG5pbXBvcnQgTmF0aXZlQXV0b21hdGlvbkFwaUJhc2UgZnJvbSAnLi4vYXBpLWJhc2UnO1xuaW1wb3J0IEJpbmRpbmdDYWxsZWRFdmVudCA9IFByb3RvY29sLlJ1bnRpbWUuQmluZGluZ0NhbGxlZEV2ZW50O1xuaW1wb3J0IEFzeW5jRXZlbnRFbWl0dGVyIGZyb20gJy4uLy4uL3V0aWxzL2FzeW5jLWV2ZW50LWVtaXR0ZXInO1xuaW1wb3J0IEVtaXR0ZXJ5IGZyb20gJ2VtaXR0ZXJ5JztcbmltcG9ydCBNZXNzYWdlQnVzIGZyb20gJy4uLy4uL3V0aWxzL21lc3NhZ2UtYnVzJztcbmltcG9ydCB7IE5hdGl2ZUF1dG9tYXRpb25Jbml0T3B0aW9ucyB9IGZyb20gJy4uLy4uL3NoYXJlZC90eXBlcyc7XG5pbXBvcnQgVGVzdFJ1biBmcm9tICcuLi8uLi90ZXN0LXJ1bic7XG5cbmNvbnN0IE5BVElWRV9BVVRPTUFUSU9OX1NUT1JBR0VfQklORElORyA9ICdOQVRJVkVfQVVUT01BVElPTl9TVE9SQUdFX0JJTkRJTkcnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZXNzaW9uU3RvcmFnZSBleHRlbmRzIE5hdGl2ZUF1dG9tYXRpb25BcGlCYXNlIHtcbiAgICBwcml2YXRlIF9ldmVudEVtaXR0ZXI6IEFzeW5jRXZlbnRFbWl0dGVyO1xuXG4gICAgY29uc3RydWN0b3IgKGJyb3dzZXJJZDogc3RyaW5nLCBjbGllbnQ6IFByb3RvY29sQXBpLCBvcHRpb25zOiBOYXRpdmVBdXRvbWF0aW9uSW5pdE9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoYnJvd3NlcklkLCBjbGllbnQsIG9wdGlvbnMpO1xuXG4gICAgICAgIHRoaXMuX2V2ZW50RW1pdHRlciA9IG5ldyBBc3luY0V2ZW50RW1pdHRlcigpO1xuXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfb25UZXN0UnVuRG9uZUhhbmRsZXIgKHRlc3RSdW46IFRlc3RSdW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5fZXZlbnRFbWl0dGVyLmVtaXQoJ2NvbnRleHRTdG9yYWdlVGVzdFJ1bkRvbmUnLCB7IHRlc3RSdW5JZDogdGVzdFJ1bi5pZCB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9hZGRUZXN0UnVuRXZlbnRMaXN0ZW5lcnMgKG1lc3NhZ2VCdXM6IE1lc3NhZ2VCdXMpOiB2b2lkIHtcbiAgICAgICAgbWVzc2FnZUJ1cy5vbigndGVzdC1ydW4tZG9uZScsIHRoaXMuX29uVGVzdFJ1bkRvbmVIYW5kbGVyLmJpbmQodGhpcykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2FkZEV2ZW50TGlzdGVuZXJzICgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2Jyb3dzZXJDb25uZWN0aW9uLm1lc3NhZ2VCdXMpXG4gICAgICAgICAgICB0aGlzLl9hZGRUZXN0UnVuRXZlbnRMaXN0ZW5lcnModGhpcy5fYnJvd3NlckNvbm5lY3Rpb24ubWVzc2FnZUJ1cyk7XG5cbiAgICAgICAgdGhpcy5fYnJvd3NlckNvbm5lY3Rpb24ub24oJ21lc3NhZ2UtYnVzLWluaXRpYWxpemVkJywgbWVzc2FnZUJ1cyA9PiB7XG4gICAgICAgICAgICB0aGlzLl9hZGRUZXN0UnVuRXZlbnRMaXN0ZW5lcnMobWVzc2FnZUJ1cyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbiAoZXZlbnROYW1lOiBzdHJpbmcsIGxpc3RlbmVyOiAoZXZlbnREYXRhPzogYW55KSA9PiBhbnkpOiBFbWl0dGVyeS5VbnN1YnNjcmliZUZuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V2ZW50RW1pdHRlci5vbihldmVudE5hbWUsIGxpc3RlbmVyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgc3RhcnQgKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLl9hZGRFdmVudExpc3RlbmVycygpO1xuXG4gICAgICAgIGF3YWl0IHRoaXMuX2NsaWVudC5SdW50aW1lLmFkZEJpbmRpbmcoeyBuYW1lOiBOQVRJVkVfQVVUT01BVElPTl9TVE9SQUdFX0JJTkRJTkcgfSk7XG5cbiAgICAgICAgYXdhaXQgdGhpcy5fY2xpZW50LlJ1bnRpbWUub24oJ2JpbmRpbmdDYWxsZWQnLCAoZXZlbnQ6IEJpbmRpbmdDYWxsZWRFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50Lm5hbWUgPT09IE5BVElWRV9BVVRPTUFUSU9OX1NUT1JBR0VfQklORElORykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgdGVzdFJ1bklkLCBmcmFtZURyaXZlcklkLCBkYXRhIH0gPSBKU09OLnBhcnNlKGV2ZW50LnBheWxvYWQpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fZXZlbnRFbWl0dGVyLmVtaXQoJ2NvbnRleHRTdG9yYWdlU3luYycsIHsgc2Vzc2lvblN0b3JhZ2U6IGRhdGEsIHRlc3RSdW5JZCwgZnJhbWVEcml2ZXJJZCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19