UNPKG

testcafe

Version:

Automated browser testing for the modern web development stack.

58 lines 9.87 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const pipeline_context_1 = __importDefault(require("../request-hooks/pipeline-context")); const request_paused_event_based_1 = __importDefault(require("../request-hooks/event-factory/request-paused-event-based")); const cdp_1 = require("../utils/cdp"); const frame_navigated_event_based_1 = __importDefault(require("../request-hooks/event-factory/frame-navigated-event-based")); const debug_loggers_1 = require("../../utils/debug-loggers"); class NativeAutomationRequestContextInfo { constructor(testRunBridge) { this._pipelineContexts = {}; this._eventFactories = {}; this._testRunBridge = testRunBridge; } _createPipelineContext(requestId) { const pipelineContext = new pipeline_context_1.default(requestId); this._pipelineContexts[requestId] = pipelineContext; return pipelineContext; } _createEventFactory(event) { const sessionId = this._testRunBridge.getSessionId(); const requestId = (0, cdp_1.getRequestId)(event); const eventFactory = (0, cdp_1.isRequestPausedEvent)(event) ? new request_paused_event_based_1.default(event, sessionId) : new frame_navigated_event_based_1.default(event, sessionId); this._eventFactories[requestId] = eventFactory; return eventFactory; } _getEventFactory(requestId) { return this._eventFactories[requestId]; } init(event) { const requestId = (0, cdp_1.getRequestId)(event); const pipelineContext = this._createPipelineContext(requestId); const eventFactory = this._createEventFactory(event); pipelineContext.setRequestOptions(eventFactory); (0, debug_loggers_1.requestPipelineContextLogger)('initialized %s', requestId); } dispose(requestId) { if (!requestId) return; delete this._pipelineContexts[requestId]; delete this._eventFactories[requestId]; (0, debug_loggers_1.requestPipelineContextLogger)('disposed %s', requestId); } getPipelineContext(requestId) { return this._pipelineContexts[requestId]; } getContextData(event) { const requestId = (0, cdp_1.getRequestId)(event); const pipelineContext = this.getPipelineContext(requestId); const eventFactory = this._getEventFactory(requestId); return { pipelineContext, eventFactory }; } } exports.default = NativeAutomationRequestContextInfo; module.exports = exports.default; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25hdGl2ZS1hdXRvbWF0aW9uL3JlcXVlc3QtcGlwZWxpbmUvY29udGV4dC1pbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EseUZBQWdGO0FBQ2hGLDJIQUE0RztBQUs1RyxzQ0FBa0U7QUFFbEUsNkhBQThHO0FBQzlHLDZEQUF5RTtBQU96RSxNQUFxQixrQ0FBa0M7SUFLbkQsWUFBb0IsYUFBNEI7UUFDNUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsZUFBZSxHQUFLLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsY0FBYyxHQUFNLGFBQWEsQ0FBQztJQUMzQyxDQUFDO0lBRU8sc0JBQXNCLENBQUUsU0FBaUI7UUFDN0MsTUFBTSxlQUFlLEdBQUcsSUFBSSwwQkFBK0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV2RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEdBQUcsZUFBZSxDQUFDO1FBRXBELE9BQU8sZUFBZSxDQUFDO0lBQzNCLENBQUM7SUFFTyxtQkFBbUIsQ0FBRSxLQUErQztRQUN4RSxNQUFNLFNBQVMsR0FBTSxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hELE1BQU0sU0FBUyxHQUFNLElBQUEsa0JBQVksRUFBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxNQUFNLFlBQVksR0FBRyxJQUFBLDBCQUFvQixFQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLG9DQUFtQyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxxQ0FBb0MsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFMUssSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsR0FBRyxZQUFZLENBQUM7UUFFL0MsT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQztJQUVPLGdCQUFnQixDQUFFLFNBQWlCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU0sSUFBSSxDQUFFLEtBQStDO1FBQ3hELE1BQU0sU0FBUyxHQUFTLElBQUEsa0JBQVksRUFBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0QsTUFBTSxZQUFZLEdBQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhELGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVoRCxJQUFBLDRDQUE0QixFQUFDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFDTSxPQUFPLENBQUUsU0FBa0I7UUFDOUIsSUFBSSxDQUFDLFNBQVM7WUFDVixPQUFPO1FBRVgsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXZDLElBQUEsNENBQTRCLEVBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTSxrQkFBa0IsQ0FBRSxTQUFpQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sY0FBYyxDQUFFLEtBQStDO1FBQ2xFLE1BQU0sU0FBUyxHQUFTLElBQUEsa0JBQVksRUFBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0QsTUFBTSxZQUFZLEdBQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXpELE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDN0MsQ0FBQztDQUNKO0FBL0RELHFEQStEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9uL2ludGVyZmFjZXMnO1xuaW1wb3J0IE5hdGl2ZUF1dG9tYXRpb25QaXBlbGluZUNvbnRleHQgZnJvbSAnLi4vcmVxdWVzdC1ob29rcy9waXBlbGluZS1jb250ZXh0JztcbmltcG9ydCBSZXF1ZXN0UGF1c2VkRXZlbnRCYXNlZEV2ZW50RmFjdG9yeSBmcm9tICcuLi9yZXF1ZXN0LWhvb2tzL2V2ZW50LWZhY3RvcnkvcmVxdWVzdC1wYXVzZWQtZXZlbnQtYmFzZWQnO1xuaW1wb3J0IFByb3RvY29sIGZyb20gJ2RldnRvb2xzLXByb3RvY29sJztcbmltcG9ydCBSZXF1ZXN0UGF1c2VkRXZlbnQgPSBQcm90b2NvbC5GZXRjaC5SZXF1ZXN0UGF1c2VkRXZlbnQ7XG5pbXBvcnQgRnJhbWVOYXZpZ2F0ZWRFdmVudCA9IFByb3RvY29sLlBhZ2UuRnJhbWVOYXZpZ2F0ZWRFdmVudDtcbmltcG9ydCBUZXN0UnVuQnJpZGdlIGZyb20gJy4vdGVzdC1ydW4tYnJpZGdlJztcbmltcG9ydCB7IGdldFJlcXVlc3RJZCwgaXNSZXF1ZXN0UGF1c2VkRXZlbnQgfSBmcm9tICcuLi91dGlscy9jZHAnO1xuaW1wb3J0IHsgQmFzZVJlcXVlc3RIb29rRXZlbnRGYWN0b3J5IH0gZnJvbSAndGVzdGNhZmUtaGFtbWVyaGVhZCc7XG5pbXBvcnQgRnJhbWVOYXZpZ2F0ZWRFdmVudEJhc2VkRXZlbnRGYWN0b3J5IGZyb20gJy4uL3JlcXVlc3QtaG9va3MvZXZlbnQtZmFjdG9yeS9mcmFtZS1uYXZpZ2F0ZWQtZXZlbnQtYmFzZWQnO1xuaW1wb3J0IHsgcmVxdWVzdFBpcGVsaW5lQ29udGV4dExvZ2dlciB9IGZyb20gJy4uLy4uL3V0aWxzL2RlYnVnLWxvZ2dlcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRleHREYXRhIHtcbiAgICBwaXBlbGluZUNvbnRleHQ6IE5hdGl2ZUF1dG9tYXRpb25QaXBlbGluZUNvbnRleHQ7XG4gICAgZXZlbnRGYWN0b3J5OiBCYXNlUmVxdWVzdEhvb2tFdmVudEZhY3Rvcnk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5hdGl2ZUF1dG9tYXRpb25SZXF1ZXN0Q29udGV4dEluZm8ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3BpcGVsaW5lQ29udGV4dHM6IERpY3Rpb25hcnk8TmF0aXZlQXV0b21hdGlvblBpcGVsaW5lQ29udGV4dD47XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZXZlbnRGYWN0b3JpZXM6IERpY3Rpb25hcnk8QmFzZVJlcXVlc3RIb29rRXZlbnRGYWN0b3J5PjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF90ZXN0UnVuQnJpZGdlOiBUZXN0UnVuQnJpZGdlO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yICh0ZXN0UnVuQnJpZGdlOiBUZXN0UnVuQnJpZGdlKSB7XG4gICAgICAgIHRoaXMuX3BpcGVsaW5lQ29udGV4dHMgPSB7fTtcbiAgICAgICAgdGhpcy5fZXZlbnRGYWN0b3JpZXMgICA9IHt9O1xuICAgICAgICB0aGlzLl90ZXN0UnVuQnJpZGdlICAgID0gdGVzdFJ1bkJyaWRnZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVQaXBlbGluZUNvbnRleHQgKHJlcXVlc3RJZDogc3RyaW5nKTogTmF0aXZlQXV0b21hdGlvblBpcGVsaW5lQ29udGV4dCB7XG4gICAgICAgIGNvbnN0IHBpcGVsaW5lQ29udGV4dCA9IG5ldyBOYXRpdmVBdXRvbWF0aW9uUGlwZWxpbmVDb250ZXh0KHJlcXVlc3RJZCk7XG5cbiAgICAgICAgdGhpcy5fcGlwZWxpbmVDb250ZXh0c1tyZXF1ZXN0SWRdID0gcGlwZWxpbmVDb250ZXh0O1xuXG4gICAgICAgIHJldHVybiBwaXBlbGluZUNvbnRleHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3JlYXRlRXZlbnRGYWN0b3J5IChldmVudDogUmVxdWVzdFBhdXNlZEV2ZW50IHwgRnJhbWVOYXZpZ2F0ZWRFdmVudCk6IEJhc2VSZXF1ZXN0SG9va0V2ZW50RmFjdG9yeSB7XG4gICAgICAgIGNvbnN0IHNlc3Npb25JZCAgICA9IHRoaXMuX3Rlc3RSdW5CcmlkZ2UuZ2V0U2Vzc2lvbklkKCk7XG4gICAgICAgIGNvbnN0IHJlcXVlc3RJZCAgICA9IGdldFJlcXVlc3RJZChldmVudCk7XG4gICAgICAgIGNvbnN0IGV2ZW50RmFjdG9yeSA9IGlzUmVxdWVzdFBhdXNlZEV2ZW50KGV2ZW50KSA/IG5ldyBSZXF1ZXN0UGF1c2VkRXZlbnRCYXNlZEV2ZW50RmFjdG9yeShldmVudCwgc2Vzc2lvbklkKSA6IG5ldyBGcmFtZU5hdmlnYXRlZEV2ZW50QmFzZWRFdmVudEZhY3RvcnkoZXZlbnQsIHNlc3Npb25JZCk7XG5cbiAgICAgICAgdGhpcy5fZXZlbnRGYWN0b3JpZXNbcmVxdWVzdElkXSA9IGV2ZW50RmFjdG9yeTtcblxuICAgICAgICByZXR1cm4gZXZlbnRGYWN0b3J5O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldEV2ZW50RmFjdG9yeSAocmVxdWVzdElkOiBzdHJpbmcpOiBCYXNlUmVxdWVzdEhvb2tFdmVudEZhY3Rvcnkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXZlbnRGYWN0b3JpZXNbcmVxdWVzdElkXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5pdCAoZXZlbnQ6IFJlcXVlc3RQYXVzZWRFdmVudCB8IEZyYW1lTmF2aWdhdGVkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVxdWVzdElkICAgICAgID0gZ2V0UmVxdWVzdElkKGV2ZW50KTtcbiAgICAgICAgY29uc3QgcGlwZWxpbmVDb250ZXh0ID0gdGhpcy5fY3JlYXRlUGlwZWxpbmVDb250ZXh0KHJlcXVlc3RJZCk7XG4gICAgICAgIGNvbnN0IGV2ZW50RmFjdG9yeSAgICA9IHRoaXMuX2NyZWF0ZUV2ZW50RmFjdG9yeShldmVudCk7XG5cbiAgICAgICAgcGlwZWxpbmVDb250ZXh0LnNldFJlcXVlc3RPcHRpb25zKGV2ZW50RmFjdG9yeSk7XG5cbiAgICAgICAgcmVxdWVzdFBpcGVsaW5lQ29udGV4dExvZ2dlcignaW5pdGlhbGl6ZWQgJXMnLCByZXF1ZXN0SWQpO1xuICAgIH1cbiAgICBwdWJsaWMgZGlzcG9zZSAocmVxdWVzdElkPzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICghcmVxdWVzdElkKVxuICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGRlbGV0ZSB0aGlzLl9waXBlbGluZUNvbnRleHRzW3JlcXVlc3RJZF07XG4gICAgICAgIGRlbGV0ZSB0aGlzLl9ldmVudEZhY3Rvcmllc1tyZXF1ZXN0SWRdO1xuXG4gICAgICAgIHJlcXVlc3RQaXBlbGluZUNvbnRleHRMb2dnZXIoJ2Rpc3Bvc2VkICVzJywgcmVxdWVzdElkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UGlwZWxpbmVDb250ZXh0IChyZXF1ZXN0SWQ6IHN0cmluZyk6IE5hdGl2ZUF1dG9tYXRpb25QaXBlbGluZUNvbnRleHQge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGlwZWxpbmVDb250ZXh0c1tyZXF1ZXN0SWRdO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb250ZXh0RGF0YSAoZXZlbnQ6IFJlcXVlc3RQYXVzZWRFdmVudCB8IEZyYW1lTmF2aWdhdGVkRXZlbnQpOiBDb250ZXh0RGF0YSB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3RJZCAgICAgICA9IGdldFJlcXVlc3RJZChldmVudCk7XG4gICAgICAgIGNvbnN0IHBpcGVsaW5lQ29udGV4dCA9IHRoaXMuZ2V0UGlwZWxpbmVDb250ZXh0KHJlcXVlc3RJZCk7XG4gICAgICAgIGNvbnN0IGV2ZW50RmFjdG9yeSAgICA9IHRoaXMuX2dldEV2ZW50RmFjdG9yeShyZXF1ZXN0SWQpO1xuXG4gICAgICAgIHJldHVybiB7IHBpcGVsaW5lQ29udGV4dCwgZXZlbnRGYWN0b3J5IH07XG4gICAgfVxufVxuIl19