UNPKG

e2ed

Version:

E2E testing framework over Playwright

59 lines (58 loc) 1.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.pressKey = void 0; const step_1 = require("../step"); const useContext_1 = require("../useContext"); const asserts_1 = require("../utils/asserts"); const error_1 = require("../utils/error"); /** * Presses the specified keyboard keys. */ const pressKey = async (keyOrSelector, keyOrOptions, maybeOptions) => { let error; let key; let selector; let options; if (typeof keyOrSelector === 'string') { key = keyOrSelector; if (typeof keyOrOptions === 'string') { error = new error_1.E2edError('keyOrOptions is string', { keyOrOptions, keyOrSelector, maybeOptions, }); } else { options = keyOrOptions ?? {}; } } else { selector = keyOrSelector; if (typeof keyOrOptions !== 'string') { error = new error_1.E2edError('keyOrOptions is not string', { keyOrOptions, keyOrSelector, maybeOptions, }); } else { key = keyOrOptions; options = maybeOptions ?? {}; } } const withDescription = selector !== undefined ? ` on element ${selector.description}` : ''; await (0, step_1.step)(`Press keyboard key${withDescription}: "${key}"`, async () => { if (error !== undefined) { throw error; } (0, asserts_1.assertValueIsDefined)(key, 'key is defined', options); const page = (0, useContext_1.getPlaywrightPage)(); if (selector !== undefined) { await selector.getPlaywrightLocator().press(key, options); } else { await page.keyboard.press(key, options); } }, { payload: { key, ...options }, type: 5 /* LogEventType.InternalAction */ }); }; exports.pressKey = pressKey;