UNPKG

@browserstack/testcafe

Version:

Automated browser testing for the modern web development stack.

84 lines 11.2 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const type_1 = __importDefault(require("./type")); const actions_1 = require("./actions"); const assertion_1 = __importDefault(require("./assertion")); const browser_manipulation_1 = require("./browser-manipulation"); const observation_1 = require("./observation"); function getCmdCtor(type) { switch (type) { case type_1.default.click: return actions_1.ClickCommand; case type_1.default.rightClick: return actions_1.RightClickCommand; case type_1.default.doubleClick: return actions_1.DoubleClickCommand; case type_1.default.hover: return actions_1.HoverCommand; case type_1.default.drag: return actions_1.DragCommand; case type_1.default.dragToElement: return actions_1.DragToElementCommand; case type_1.default.typeText: return actions_1.TypeTextCommand; case type_1.default.selectText: return actions_1.SelectTextCommand; case type_1.default.selectTextAreaContent: return actions_1.SelectTextAreaContentCommand; case type_1.default.selectEditableContent: return actions_1.SelectEditableContentCommand; case type_1.default.pressKey: return actions_1.PressKeyCommand; case type_1.default.wait: return observation_1.WaitCommand; case type_1.default.navigateTo: return actions_1.NavigateToCommand; case type_1.default.setFilesToUpload: return actions_1.SetFilesToUploadCommand; case type_1.default.clearUpload: return actions_1.ClearUploadCommand; case type_1.default.takeScreenshot: return browser_manipulation_1.TakeScreenshotCommand; case type_1.default.takeElementScreenshot: return browser_manipulation_1.TakeElementScreenshotCommand; case type_1.default.resizeWindow: return browser_manipulation_1.ResizeWindowCommand; case type_1.default.resizeWindowToFitDevice: return browser_manipulation_1.ResizeWindowToFitDeviceCommand; case type_1.default.maximizeWindow: return browser_manipulation_1.MaximizeWindowCommand; case type_1.default.switchToIframe: return actions_1.SwitchToIframeCommand; case type_1.default.switchToMainWindow: return actions_1.SwitchToMainWindowCommand; case type_1.default.setNativeDialogHandler: return actions_1.SetNativeDialogHandlerCommand; case type_1.default.setTestSpeed: return actions_1.SetTestSpeedCommand; case type_1.default.setPageLoadTimeout: return actions_1.SetPageLoadTimeoutCommand; case type_1.default.assertion: return assertion_1.default; case type_1.default.debug: return observation_1.DebugCommand; case type_1.default.executeExpression: return actions_1.ExecuteExpressionCommand; case type_1.default.executeAsyncExpression: return actions_1.ExecuteAsyncExpressionCommand; case type_1.default.recorder: return actions_1.RecorderCommand; default: return null; } } // Create command from object function createCommandFromObject(obj, testRun) { const CmdCtor = getCmdCtor(obj.type); return CmdCtor && new CmdCtor(obj, testRun); } exports.default = createCommandFromObject; module.exports = exports.default; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbS1vYmplY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVzdC1ydW4vY29tbWFuZHMvZnJvbS1vYmplY3QuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrREFBMEI7QUFFMUIsdUNBdUJtQjtBQUVuQiw0REFBMkM7QUFFM0MsaUVBTWdDO0FBRWhDLCtDQUEwRDtBQUUxRCxTQUFTLFVBQVUsQ0FBRSxJQUFJO0lBQ3JCLFFBQVEsSUFBSSxFQUFFO1FBQ1YsS0FBSyxjQUFJLENBQUMsS0FBSztZQUNYLE9BQU8sc0JBQVksQ0FBQztRQUV4QixLQUFLLGNBQUksQ0FBQyxVQUFVO1lBQ2hCLE9BQU8sMkJBQWlCLENBQUM7UUFFN0IsS0FBSyxjQUFJLENBQUMsV0FBVztZQUNqQixPQUFPLDRCQUFrQixDQUFDO1FBRTlCLEtBQUssY0FBSSxDQUFDLEtBQUs7WUFDWCxPQUFPLHNCQUFZLENBQUM7UUFFeEIsS0FBSyxjQUFJLENBQUMsSUFBSTtZQUNWLE9BQU8scUJBQVcsQ0FBQztRQUV2QixLQUFLLGNBQUksQ0FBQyxhQUFhO1lBQ25CLE9BQU8sOEJBQW9CLENBQUM7UUFFaEMsS0FBSyxjQUFJLENBQUMsUUFBUTtZQUNkLE9BQU8seUJBQWUsQ0FBQztRQUUzQixLQUFLLGNBQUksQ0FBQyxVQUFVO1lBQ2hCLE9BQU8sMkJBQWlCLENBQUM7UUFFN0IsS0FBSyxjQUFJLENBQUMscUJBQXFCO1lBQzNCLE9BQU8sc0NBQTRCLENBQUM7UUFFeEMsS0FBSyxjQUFJLENBQUMscUJBQXFCO1lBQzNCLE9BQU8sc0NBQTRCLENBQUM7UUFFeEMsS0FBSyxjQUFJLENBQUMsUUFBUTtZQUNkLE9BQU8seUJBQWUsQ0FBQztRQUUzQixLQUFLLGNBQUksQ0FBQyxJQUFJO1lBQ1YsT0FBTyx5QkFBVyxDQUFDO1FBRXZCLEtBQUssY0FBSSxDQUFDLFVBQVU7WUFDaEIsT0FBTywyQkFBaUIsQ0FBQztRQUU3QixLQUFLLGNBQUksQ0FBQyxnQkFBZ0I7WUFDdEIsT0FBTyxpQ0FBdUIsQ0FBQztRQUVuQyxLQUFLLGNBQUksQ0FBQyxXQUFXO1lBQ2pCLE9BQU8sNEJBQWtCLENBQUM7UUFFOUIsS0FBSyxjQUFJLENBQUMsY0FBYztZQUNwQixPQUFPLDRDQUFxQixDQUFDO1FBRWpDLEtBQUssY0FBSSxDQUFDLHFCQUFxQjtZQUMzQixPQUFPLG1EQUE0QixDQUFDO1FBRXhDLEtBQUssY0FBSSxDQUFDLFlBQVk7WUFDbEIsT0FBTywwQ0FBbUIsQ0FBQztRQUUvQixLQUFLLGNBQUksQ0FBQyx1QkFBdUI7WUFDN0IsT0FBTyxxREFBOEIsQ0FBQztRQUUxQyxLQUFLLGNBQUksQ0FBQyxjQUFjO1lBQ3BCLE9BQU8sNENBQXFCLENBQUM7UUFFakMsS0FBSyxjQUFJLENBQUMsY0FBYztZQUNwQixPQUFPLCtCQUFxQixDQUFDO1FBRWpDLEtBQUssY0FBSSxDQUFDLGtCQUFrQjtZQUN4QixPQUFPLG1DQUF5QixDQUFDO1FBRXJDLEtBQUssY0FBSSxDQUFDLHNCQUFzQjtZQUM1QixPQUFPLHVDQUE2QixDQUFDO1FBRXpDLEtBQUssY0FBSSxDQUFDLFlBQVk7WUFDbEIsT0FBTyw2QkFBbUIsQ0FBQztRQUUvQixLQUFLLGNBQUksQ0FBQyxrQkFBa0I7WUFDeEIsT0FBTyxtQ0FBeUIsQ0FBQztRQUVyQyxLQUFLLGNBQUksQ0FBQyxTQUFTO1lBQ2YsT0FBTyxtQkFBZ0IsQ0FBQztRQUU1QixLQUFLLGNBQUksQ0FBQyxLQUFLO1lBQ1gsT0FBTywwQkFBWSxDQUFDO1FBRXhCLEtBQUssY0FBSSxDQUFDLGlCQUFpQjtZQUN2QixPQUFPLGtDQUF3QixDQUFDO1FBRXBDLEtBQUssY0FBSSxDQUFDLHNCQUFzQjtZQUM1QixPQUFPLHVDQUE2QixDQUFDO1FBRXpDLEtBQUssY0FBSSxDQUFDLFFBQVE7WUFDZCxPQUFPLHlCQUFlLENBQUM7UUFFM0I7WUFDSSxPQUFPLElBQUksQ0FBQztLQUNuQjtBQUNMLENBQUM7QUFFRCw2QkFBNkI7QUFDN0IsU0FBd0IsdUJBQXVCLENBQUUsR0FBRyxFQUFFLE9BQU87SUFDekQsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVyQyxPQUFPLE9BQU8sSUFBSSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUpELDBDQUlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFRZUEUgZnJvbSAnLi90eXBlJztcblxuaW1wb3J0IHtcbiAgICBDbGlja0NvbW1hbmQsXG4gICAgUmlnaHRDbGlja0NvbW1hbmQsXG4gICAgRG91YmxlQ2xpY2tDb21tYW5kLFxuICAgIEhvdmVyQ29tbWFuZCxcbiAgICBEcmFnQ29tbWFuZCxcbiAgICBEcmFnVG9FbGVtZW50Q29tbWFuZCxcbiAgICBUeXBlVGV4dENvbW1hbmQsXG4gICAgU2VsZWN0VGV4dENvbW1hbmQsXG4gICAgU2VsZWN0VGV4dEFyZWFDb250ZW50Q29tbWFuZCxcbiAgICBTZWxlY3RFZGl0YWJsZUNvbnRlbnRDb21tYW5kLFxuICAgIFByZXNzS2V5Q29tbWFuZCxcbiAgICBOYXZpZ2F0ZVRvQ29tbWFuZCxcbiAgICBTZXRGaWxlc1RvVXBsb2FkQ29tbWFuZCxcbiAgICBDbGVhclVwbG9hZENvbW1hbmQsXG4gICAgU3dpdGNoVG9JZnJhbWVDb21tYW5kLFxuICAgIFN3aXRjaFRvTWFpbldpbmRvd0NvbW1hbmQsXG4gICAgU2V0TmF0aXZlRGlhbG9nSGFuZGxlckNvbW1hbmQsXG4gICAgU2V0VGVzdFNwZWVkQ29tbWFuZCxcbiAgICBTZXRQYWdlTG9hZFRpbWVvdXRDb21tYW5kLFxuICAgIEV4ZWN1dGVFeHByZXNzaW9uQ29tbWFuZCxcbiAgICBFeGVjdXRlQXN5bmNFeHByZXNzaW9uQ29tbWFuZCxcbiAgICBSZWNvcmRlckNvbW1hbmRcbn0gZnJvbSAnLi9hY3Rpb25zJztcblxuaW1wb3J0IEFzc2VydGlvbkNvbW1hbmQgZnJvbSAnLi9hc3NlcnRpb24nO1xuXG5pbXBvcnQge1xuICAgIFRha2VTY3JlZW5zaG90Q29tbWFuZCxcbiAgICBUYWtlRWxlbWVudFNjcmVlbnNob3RDb21tYW5kLFxuICAgIFJlc2l6ZVdpbmRvd0NvbW1hbmQsXG4gICAgUmVzaXplV2luZG93VG9GaXREZXZpY2VDb21tYW5kLFxuICAgIE1heGltaXplV2luZG93Q29tbWFuZFxufSBmcm9tICcuL2Jyb3dzZXItbWFuaXB1bGF0aW9uJztcblxuaW1wb3J0IHsgV2FpdENvbW1hbmQsIERlYnVnQ29tbWFuZCB9IGZyb20gJy4vb2JzZXJ2YXRpb24nO1xuXG5mdW5jdGlvbiBnZXRDbWRDdG9yICh0eXBlKSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgVFlQRS5jbGljazpcbiAgICAgICAgICAgIHJldHVybiBDbGlja0NvbW1hbmQ7XG5cbiAgICAgICAgY2FzZSBUWVBFLnJpZ2h0Q2xpY2s6XG4gICAgICAgICAgICByZXR1cm4gUmlnaHRDbGlja0NvbW1hbmQ7XG5cbiAgICAgICAgY2FzZSBUWVBFLmRvdWJsZUNsaWNrOlxuICAgICAgICAgICAgcmV0dXJuIERvdWJsZUNsaWNrQ29tbWFuZDtcblxuICAgICAgICBjYXNlIFRZUEUuaG92ZXI6XG4gICAgICAgICAgICByZXR1cm4gSG92ZXJDb21tYW5kO1xuXG4gICAgICAgIGNhc2UgVFlQRS5kcmFnOlxuICAgICAgICAgICAgcmV0dXJuIERyYWdDb21tYW5kO1xuXG4gICAgICAgIGNhc2UgVFlQRS5kcmFnVG9FbGVtZW50OlxuICAgICAgICAgICAgcmV0dXJuIERyYWdUb0VsZW1lbnRDb21tYW5kO1xuXG4gICAgICAgIGNhc2UgVFlQRS50eXBlVGV4dDpcbiAgICAgICAgICAgIHJldHVybiBUeXBlVGV4dENvbW1hbmQ7XG5cbiAgICAgICAgY2FzZSBUWVBFLnNlbGVjdFRleHQ6XG4gICAgICAgICAgICByZXR1cm4gU2VsZWN0VGV4dENvbW1hbmQ7XG5cbiAgICAgICAgY2FzZSBUWVBFLnNlbGVjdFRleHRBcmVhQ29udGVudDpcbiAgICAgICAgICAgIHJldHVybiBTZWxlY3RUZXh0QXJlYUNvbnRlbnRDb21tYW5kO1xuXG4gICAgICAgIGNhc2UgVFlQRS5zZWxlY3RFZGl0YWJsZUNvbnRlbnQ6XG4gICAgICAgICAgICByZXR1cm4gU2VsZWN0RWRpdGFibGVDb250ZW50Q29tbWFuZDtcblxuICAgICAgICBjYXNlIFRZUEUucHJlc3NLZXk6XG4gICAgICAgICAgICByZXR1cm4gUHJlc3NLZXlDb21tYW5kO1xuXG4gICAgICAgIGNhc2UgVFlQRS53YWl0OlxuICAgICAgICAgICAgcmV0dXJuIFdhaXRDb21tYW5kO1xuXG4gICAgICAgIGNhc2UgVFlQRS5uYXZpZ2F0ZVRvOlxuICAgICAgICAgICAgcmV0dXJuIE5hdmlnYXRlVG9Db21tYW5kO1xuXG4gICAgICAgIGNhc2UgVFlQRS5zZXRGaWxlc1RvVXBsb2FkOlxuICAgICAgICAgICAgcmV0dXJuIFNldEZpbGVzVG9VcGxvYWRDb21tYW5kO1xuXG4gICAgICAgIGNhc2UgVFlQRS5jbGVhclVwbG9hZDpcbiAgICAgICAgICAgIHJldHVybiBDbGVhclVwbG9hZENvbW1hbmQ7XG5cbiAgICAgICAgY2FzZSBUWVBFLnRha2VTY3JlZW5zaG90OlxuICAgICAgICAgICAgcmV0dXJuIFRha2VTY3JlZW5zaG90Q29tbWFuZDtcblxuICAgICAgICBjYXNlIFRZUEUudGFrZUVsZW1lbnRTY3JlZW5zaG90OlxuICAgICAgICAgICAgcmV0dXJuIFRha2VFbGVtZW50U2NyZWVuc2hvdENvbW1hbmQ7XG5cbiAgICAgICAgY2FzZSBUWVBFLnJlc2l6ZVdpbmRvdzpcbiAgICAgICAgICAgIHJldHVybiBSZXNpemVXaW5kb3dDb21tYW5kO1xuXG4gICAgICAgIGNhc2UgVFlQRS5yZXNpemVXaW5kb3dUb0ZpdERldmljZTpcbiAgICAgICAgICAgIHJldHVybiBSZXNpemVXaW5kb3dUb0ZpdERldmljZUNvbW1hbmQ7XG5cbiAgICAgICAgY2FzZSBUWVBFLm1heGltaXplV2luZG93OlxuICAgICAgICAgICAgcmV0dXJuIE1heGltaXplV2luZG93Q29tbWFuZDtcblxuICAgICAgICBjYXNlIFRZUEUuc3dpdGNoVG9JZnJhbWU6XG4gICAgICAgICAgICByZXR1cm4gU3dpdGNoVG9JZnJhbWVDb21tYW5kO1xuXG4gICAgICAgIGNhc2UgVFlQRS5zd2l0Y2hUb01haW5XaW5kb3c6XG4gICAgICAgICAgICByZXR1cm4gU3dpdGNoVG9NYWluV2luZG93Q29tbWFuZDtcblxuICAgICAgICBjYXNlIFRZUEUuc2V0TmF0aXZlRGlhbG9nSGFuZGxlcjpcbiAgICAgICAgICAgIHJldHVybiBTZXROYXRpdmVEaWFsb2dIYW5kbGVyQ29tbWFuZDtcblxuICAgICAgICBjYXNlIFRZUEUuc2V0VGVzdFNwZWVkOlxuICAgICAgICAgICAgcmV0dXJuIFNldFRlc3RTcGVlZENvbW1hbmQ7XG5cbiAgICAgICAgY2FzZSBUWVBFLnNldFBhZ2VMb2FkVGltZW91dDpcbiAgICAgICAgICAgIHJldHVybiBTZXRQYWdlTG9hZFRpbWVvdXRDb21tYW5kO1xuXG4gICAgICAgIGNhc2UgVFlQRS5hc3NlcnRpb246XG4gICAgICAgICAgICByZXR1cm4gQXNzZXJ0aW9uQ29tbWFuZDtcblxuICAgICAgICBjYXNlIFRZUEUuZGVidWc6XG4gICAgICAgICAgICByZXR1cm4gRGVidWdDb21tYW5kO1xuXG4gICAgICAgIGNhc2UgVFlQRS5leGVjdXRlRXhwcmVzc2lvbjpcbiAgICAgICAgICAgIHJldHVybiBFeGVjdXRlRXhwcmVzc2lvbkNvbW1hbmQ7XG5cbiAgICAgICAgY2FzZSBUWVBFLmV4ZWN1dGVBc3luY0V4cHJlc3Npb246XG4gICAgICAgICAgICByZXR1cm4gRXhlY3V0ZUFzeW5jRXhwcmVzc2lvbkNvbW1hbmQ7XG5cbiAgICAgICAgY2FzZSBUWVBFLnJlY29yZGVyOlxuICAgICAgICAgICAgcmV0dXJuIFJlY29yZGVyQ29tbWFuZDtcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuXG4vLyBDcmVhdGUgY29tbWFuZCBmcm9tIG9iamVjdFxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlQ29tbWFuZEZyb21PYmplY3QgKG9iaiwgdGVzdFJ1bikge1xuICAgIGNvbnN0IENtZEN0b3IgPSBnZXRDbWRDdG9yKG9iai50eXBlKTtcblxuICAgIHJldHVybiBDbWRDdG9yICYmIG5ldyBDbWRDdG9yKG9iaiwgdGVzdFJ1bik7XG59XG4iXX0=